多表查询

语法:
SELECT * FROM <表1> <表2>

这种多表查询,又称笛卡尔查询,结果集是目标表的行数乘积,效率最低.

连接查询是 另一种类型的多表查询,分为 内连接,左外连接 和右外连接.

使用区别:
内连接 是返回两个表同时存在的行,不包含 null 的数据.
外连接 :
INNER JOIN只返回同时存在于两张表的行数据

RIGHT OUTER JOIN返回右表都存在的行。如果某一行仅在右表存在,那么结果集就会以NULL填充剩下的字段。
LEFT OUTER JOIN则返回左表都存在的行。

使用 连接查询,可以提高查询的效率,语法为
SELECT ... FROM <表1> INNER JOIN <表2> ON <条件...>

后面还可以接 where 条件 和 order by 排序

使用参考用例为牛客SQL实战第3题, 用 on 做条件连接,然后就可以用 where 做条件查询,很方便.

查找各个部门当前(dept_manager.to_date='9999-01-01')领导当前(salaries.to_date='9999-01-01')薪水详情以及其对应部门编号dept_no

总结:

  1. join 连接查询使用率最高
  2. 内连接 inner 可以省, 外连接 out 可以省,不影响使用结果
  3. 左外连接和右外连接 选择使用一个使用即可
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容