數據查詢基礎----詳細解析
一. 數據查詢基礎
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)
數據查詢基礎----詳細解析