zoukankan      html  css  js  c++  java
  • 连接查询

    连接查询:

    内连接:等值连接,非等值连接,自连接

    外连接:左外连接,右外连接,全外连接

    交叉连接

    sql92仅支持内连接:

    等值连接:(多表)

    多表等值连接的结果为多表的交集部分

    n表连接,至少需要n-1个连接条件

    多表的顺序没有要求

    一般需要为表取别名

    可以搭配排序、分组、筛选等语句

    示例:

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

    非等值连接:(多表)

    连接条件至少包含非等值条件

    自连接:(单表)

    将一个表作为多表使用,查询多次

    示例:

    SELECT e.employee_id,e.last_name,m.employee_id,m.last_name
    
    FROM employees e,employees m
    
    WHERE e.`manager_id`=m.`employee_id`;

    sql99:

    内连接:

    SELECT 查询列表

    FROM 表1 别名

    INNER JOIN 表2 别名

    ON 连接条件

    (多表时JOIN ON为一组增加连接条件,且INNER可省略)

    外连接:

    外连接查询结果=内连接结果+主表中有而从表中没有的记录

    LEFT OUTER JOIN 左边为主表

    RIGHT OUTER JOIN 右边为主表

    SELECT d.*,e.employee_id
    FROM department d
    LEFT OUTER JOIN employees e
    ON d.`department_id` = e.`department_id`
    WHERE e.`employee_id` IS NULL

    MySQL不支持全外连接

    交叉连接:

    两个表进行笛卡尔乘积

    1.jpg

    该图来源

  • 相关阅读:
    杭电2063 过山车 匈牙利算法
    杭电2023 平均成绩
    leveldb性能分析
    linux下libreoffice安装测试
    iptables配置vsftp访问
    vsftp访问异常
    mysql二进制安装
    vi命令
    mysql配置优化
    rsync 配置
  • 原文地址:https://www.cnblogs.com/faded828x/p/13174104.html
Copyright © 2011-2022 走看看