数据查询基础

一. 数据查询基础

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)

posted @ 2018-07-24 07:59  琴昕LNS~  阅读(207)  评论(0编辑  收藏  举报