第九章 数据查询基础


 一. 数据查询基础
  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) 

猜你喜欢

转载自www.cnblogs.com/Tongchaofei/p/9353965.html