美文网首页
多表查询

多表查询

作者: 历十九喵喵喵 | 来源:发表于2021-01-16 10:44 被阅读0次

    语法:
    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. 左外连接和右外连接 选择使用一个使用即可

    相关文章

      网友评论

          本文标题:多表查询

          本文链接:https://www.haomeiwen.com/subject/ubqnaktx.html