标签:结果 分组 tab 单条件 透明 com 执行 单表 空值
Mysql查询语句时候一共分为11步,其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只是这些虚拟的表对用户来说是透明的,但是只有最后一个虚拟的表才会被作为结果返回。
语句执行顺序 :
顺序 |
名称 | 内容 |
---|---|---|
1 |
SELECT |
命令发起 |
2 |
* 或 AVG(字段)等 | 查询内容 |
3 |
FROM |
查询位置 |
4 |
WHERE |
条件查询 |
5 |
GROUP BY |
分组 |
6 |
HAVING |
筛选 |
7 |
ORDER BY (ASC/DESC) |
排序 |
8 |
LIMIT |
限制结果数 |
1、单表查询
-- 在学生表中查询学号、姓名; select sno, sname from student ;
-- 查询学生表中全部信息 select * from student;
-- 查询全部学生的“姓名”及其“出生年”两列 select sname as 姓名,(2017-Sage) as 出生年 from student;
-- 查询职位是 salesman 的记录; select * from emp where job=‘Salesman‘
-- 查询部门在10 或 20 的记录 select * from emp where deptno=10 or deptno=20; -- 查询部门在10的 或者部门在20且薪水小于2000的记录 select * from emp where deptno=10 or (deptno=20 and sal<=2000);
去重查询 ,使用 <distinct 列名> 语句
-- 查询选修了课程的学生学号 select distinct sno as 选修了课程的学生学号 from score;
-- 查询没有先修课的课程号和课程名。 select Cno as 课程号,Cname as 课程名,Cpno from course where Cpno is null; -- 查询所有有成绩的学生学号、课程号及成绩 select Sno as 学号,Cno as 课程号,Grade as 成绩 from SC where Grade is not null;
-- 查询津贴为NULL ,替换为0 select coalesce(comm,0) from emp;
--查询员工姓名以a开头的记录 select * from emp where ename like ‘a%‘; --查询员工姓名中包含a的记录 select * from emp where ename like ‘%a%‘; --查询员工姓名第二个字母以a开头的记录 select * from emp where ename like ‘_a%‘;
标签:结果 分组 tab 单条件 透明 com 执行 单表 空值
原文地址:http://www.cnblogs.com/jennyyin/p/7895987.html