SQL Server中資料查詢基礎

2022-08-24 19:03:10 字數 1902 閱讀 5271

一. 資料查詢基礎

1. 查詢所有資料

select * from 表名

2. 根據限制條件查詢資料

select * from 表名 where 限制條件

3. 根據特定列進行排序,預設為公升序排列

select * from 表名 order by 排序列名 公升序/降序

4. 使用別名as

select studentname as 學生姓名,gradeid as 年級編號 from student

5. 使用=號命名別名

select 學生姓名=studentname,年級編號=gradeid from student

6. 使用+號拼接資料

select studentno+gradeid as 學生資訊 from student

注意:1. + 連線的資料型別必須相容

2. 如果 + 連線字元型資料,結果為字串資料的連線

3. 如果 + 連線數值型資料,結果為數值的和

7. 查詢空值

select * from student where emial is null

8.使用常量列

select studentname as 學生姓名,'北京昌平' as 住址 from student

9.使用top限制資料行

9.1 限制特定資料行數

select top 10 * from student

9.2 限制特定資料百分比

select top 60 percent * from student

二. 多表查詢

思路:確定要查詢的列,以及確定要查詢的表,然後找錶與表之間的關係

--查詢學生資訊(學生姓名,年級名稱,出生日期以及郵箱),找引用關係

select studentname,gradename,borndate,email from student,grade where student.gradeid=grade.gradeid

--查詢s1年級下的科目名稱

select subjectname as 科目名稱 from subject,grade where grade.gradename='s2' and subject.gid=grade.gradeid

--查詢s1年級下所有學生姓名

select studentname as 學生姓名 from student,grade where grade.gradename='s1' and student.gradeid=grade.gradeid

--查詢學生編號為1的考試科目以及考試成績

select subjectname,studentresult from result,subject,student where student.studentno=1

and result.studentno=student.studentno and result.subjectid=subject.subjectid

三. sql函式

1.字串函式

用於控制返回給使用者的字串

2.日期函式

用於操作日期值

3.數學函式

用於對數值進行代數運算

4.系統函式

獲取有關sql server中物件和設定的系統資訊

詳情請見書上sql函式表

年滿20周歲的條件

datediff(dd,borndate, getdate())>=365*20

獲取email的網域名稱

right(email, len(email) - charindex('@',email) )

獲取當前日期的年、月、日

convert(varchar(4), datepart(yyyy,getdate()))

獲取4位隨機數

right(rand(),4)

sql server 資料查詢優化

前幾周做專案遇到問題與大家分享 因讀取資料關聯n個表,我大部份都採用子查詢 in 當時資料量在10000記錄級內,而且在本地伺服器執行速度都比較快。當再一次匯入幾w條記錄後多表關聯 in 就宕機。然後瘋狂網上搜解決方案。查詢速度慢的原因很多,常見如下幾種 1 沒有索引或者沒有用到索引 2 i o吞吐...

sql server中的分頁資料查詢

今天在工作中遇到乙個需要進行sql server分頁資料查詢的問題,但是分頁資料查詢的sql卻忘記了,最終通過查詢資料解決了該問題。現在把解決方法記下,以備查閱。在這裡需要感謝的qlin 假設需要查詢表為test,test表中有個字段為id 我這裡用的是int型 當前頁pageindex 5,頁大小...

SQL Server資料查詢之聯接查詢

四 聯接查詢 1.聯接 1.1內聯接 inner join 1.2外聯接 outer join 1.2.1左聯接 left join 1.2.2右聯接 right join 1.3交叉聯接 cross join 2.內聯接與自聯接 內聯接 作用於兩個表,一般通過兩個表中相同的字段的關係 建立聯絡 自...