1、查询语句基本结构
SELECT  <列名> from <表名> 
[WHERE  <条件表达式>]
[GROUP BY <分组依据列>]
[Having <组提取条件>]
[order by <排序依据列>]
2、单标查询
1)查询全部列
Select * from student(表名)
2)查询指定列
Select sname(列名),sage(列名) from student(表名)
3)消除重复行查询
Select distinct sname, sage from student
4) 条件查询
查询条件:
比较
=, >,  >=,  <,  <=,  !=
范围
Between xxx and xxxx,  not between xxx and xxxx
集合
In,  not in
字符匹配
Like,  not like
空值
Is null,    is  not null
多重条件
And ,  or
比较:
Select sname from student where sdept = ‘交通运输’
Select sname from student where sage <20
范围:
Select sname from student where sage between 18 and 21
集合:
列名 [not]  in (常量1,常量2….)
Select sname, sage from  student where sdept in (‘交通仿真’, ‘汽车服务’,’智能制造’)
字符匹配:
列名  [not]  like <匹配字符串>
_  匹配任意一个字符
%  匹配0个或多个字符
[  ]  匹配 [  ] 中的任意一个字符
[ ^ ]  不匹配[  ]中的任意一个字符
Select * from student where sname like ‘张%’
Select * from student where sname like ‘[张刘李]%’  //查询姓张、李、刘的所有学生信息
Select sname from student where sname like ‘王_’  //查询姓王且名字为两个字的学生信息
空值:
Select * from student where grade is null  //查询成绩为空的学生信息
多重条件查询:
Select sname, sage from student where sdept = ‘交通运输’ and sage <20  //查询交通运输系年龄在20岁以下的学生信息
3、对查询结果排序
ORDER  BY  <列名>  [ASC |  DESC] 
Select *  from student order by sage ASC  //将学生信息按年龄升序排列
4、多表连接查询
1)内连接
Select * from 表1 [insert]  JOIN  表2 on <连接条件>
连接条件的一般格式为:
表1.列名  <比较运算符>  表2.列名
Select student.so, sname from student join sc on student.sno=sc.sno
2)外连接
Select * from 表1 left | right [outer] join 表2 on  <连接条件>
Left:  左连接,限制表2的数据必须满足连接条件
select distinct from
Select student.sno, sname, Cno, grade from student left outer join sc on student.sno=sc.sno  //查询学生选课情况,包括选了课程和没选课程的
Right  右连接,限制表1的数据必须满足连接条件
Select student.sno, sname, Cno, grade from sc right outer join student on student.sno=sc.sno  //查询学生选课情况,包括选了课程和没选课程的
5、嵌套查询(子查询)
Select * from 表名 where 列名 [not]  in (select 列名 from 表名where 条件表达式)
Select sno, sname, sdept from student where sdept in ( select sdept from student where sname=’张三’)  //查询与张三在同一个系的学生

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。