DDL
DQL 常用sql查询方式
查询常用结构
SELECT
字段列表
FROM
表名列表
WHERE
条件列表
GROUP BY
分组字段列表
HAVING
分组后条件列表
ORDER BY
排序字段列表
LIMIT
分页参数
内连接
隐式内连接: 查询两张表里面的数据,注意消除笛卡尔积
select 字段列表 from 表1 , 表2 where 条件 ... ;
显示内连接:
select 字段列表 from 表1 [ inner ] join 表2 on 连接条件 ... ;
外连接 :
左外连接: 查询左表 表1的全部数据和表1表2之间共有的数据
select 字段列表 from 表1 left [ outer ] join 表2 on 连接条件 ... ;
右外连接:右外可以转成左外
select 字段列表 from 表1 right [ outer ] join 表2 on 连接条件 ... ;
子查询
标量子查询:子查询的结果是一个字段
select *
from tb_emp e
where e.entrydate > (select entrydate from tb_emp where tb_emp.name = '方东耀');
行子查询:子查询的结果是 一行可以多列
select *
from test02.tb_emp
where(条件1,条件2)=(select 条件1,条件2 from db02.tb_emp where name='斐擒虎');
列子查询:子查询的结果是 一列可以多行
select *
from tb_emp
where job in (select id from tb_dept where name = '教研部' or name = '咨询部');
表子查询:把查询当作一个表来使用 在查询的基础上在进行查询
select e.*,d.name
from (select * from test02.tb_emp where entrydate>'2006-01-01') e,tb_dept d
where e.job=d.id;