1. 程式人生 > >數據查詢基礎----詳細解析

數據查詢基礎----詳細解析

bject convert ted 以及 name 運算 命名 獲取 part


一. 數據查詢基礎

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中對象和設置的系統信息


年滿20周歲的條件
DATEDIFF(DD,BornDate, GETDATE())>=365*20

獲取Email的域名
RIGHT(Email, LEN(Email) - CHARINDEX(‘@‘,Email) )

獲取當前日期的年、月、日
CONVERT(VARCHAR(4), DATEPART(YYYY,GETDATE()))

獲取4位隨機數
RIGHT(RAND(),4)

數據查詢基礎----詳細解析