#连接查询
/*
含义:又称多表查询,当前查询字段来自不同的表
分类:
按年代分:
92标准(仅支持内连接)
99标准(支持内连接+外连接(左外+右外)+交叉连接)
按功能分:
内连接:等值连接、非等值连接、自连接
外连接:左外连接、右外连接、全外连接
交叉连接
*/
SELECT * FROM beauty;
SELECT * FROM `boys`; #康康表里有啥宝藏
#一、sql92标准
#等值连接 类似于Excel中的 index+match 效果
/*
特点:
1、多表等值连接的结果为多表的交集部分
2、n表连接,至少要n-1个连接条件(1个where,n-2个and)
3、from后的多表的顺序不要求,一般需要起别名
4、可搭配排序(desc或asc)、分组(group by)、筛选(where后的and,group by后的having)
语法:
select 查询列表,【分组函数】
from 参与查询的表名
where 连接条件1
【and 连接条件n】
【and 分组前筛选条件】
【group by 分组字段】
【having 分组后筛选条件】
【order by】
*/
-- ---------简单匹配----------
#案例1、查询女生名对应的男生名
SELECT NAME,`boyName`
FROM `beauty`,`boys`
WHERE `beauty`.`boyfriend_id`=`boys`.`id`; #避免出现笛卡尔乘积现象
#案例2、查询员工名对应的部门名
SELECT `last_name`,`department_name`
FROM `employees`,`departments`
WHERE `employees`.`department_id`=`departments`.`department_id`;
-- ----------给表起别名---------
#案例、查询员工名、工种号、工种名
SELECT `last_name`,`employees`.`job_id`,
92标准下SQL连接查询浅试
最新推荐文章于 2020-12-14 07:21:59 发布