【page】mysql笔记(七) sql92语法--连接查询

本文详细介绍了SQL92标准中的连接查询,包括等值连接、非等值连接和自连接。通过多个实际案例,展示了如何进行多表查询、表别名的使用、筛选、分组、排序以及三表连接等操作,帮助读者深入理解并掌握连接查询的技巧。
摘要由CSDN通过智能技术生成

sql92语法–连接查询

含义:又称为多表查询,当查询的字段涉及到多个表时
笛卡尔乘积现象:表1有m行,表2有n行,结果m*n行
发生原因:没有有效的连接条件
如何避免:添加有效的连接条件

分类:

1.按年代分类:
sql92标准–仅仅支持内连接
sql99标准【推荐】–支持内连接+外连接(左外和右外)+交叉连接

2.按功能分类:
内连接
等值连接
非等值连接
自连接
外连接
左外连接
右外连接
全外连接
交叉连接

一、等值连接

①多表等值连接的结果为多表的交集部分
②n表连接,至少需要n-1个连接条件
③多表的顺序没有要求
④一般需要为表起别名
⑤可以搭配前面介绍的所有子句使用,比如排序,分组,筛选

案例1:查询女神名和对应的男神名

SELECT 'name',boyName
FROM boys,beauty
WHERE beauty.boyfriend_id=boys.id;

案例2:查询员工名和对应的部门名

SELECT
	last_name,department_name
FROM
	employees,departments
WHERE
	employees.`department_id`=departments.`department_id`;

1、为表取别名

好处:
①提高语句简洁度
②区分多个重名的字段

注意:如果为表起了别名,则查询的字段就不能使用原来的表名

案例1:查询工种号、员工名、工种名

SELECT
	last_name,e.job_id,job_title
FROM
	employees AS e,jobs AS j
WHERE
	e.`job_id`=j.`job_id`;

2、两个表的顺序是否可以调换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值