• Day04 多表查询


    1. 笛卡尔集
     
    笛卡尔集会在下面条件下产生:
    • 省略连接条件
    • 连接条件无效
    • 所有表中的所有行互相连接
     
    为了避免笛卡尔集, 可以在 WHERE加入有效的连接条件。
     
    2. Oracle连接
     
     
    3. 等值连接
     
     
    4. 表的别名
     
     
     
     
     
    5. 连接多个表
     
     
    6. 非等值连接
     
     
    7. 内连接和外连接
     
     
     
    8. 自连接
     
     
    9. 1999连接
     
     
     
    SQL语句的多表查询方式:
     
    例如:按照department_id查询employees(员工表)和departments(部门表)
    的信息。
    方式一(通用型):SELECT ... FROM ... WHERE
    SELECT e.last_name,e.department_id,d.department_name
    FROM employees e,departments d
    where e.department_id = d.department_id
     
    方式二:SELECT ... FROM ... NATURAL JOIN ...
    有局限性:会自动连接两个表中相同的列(可能有多个:department_id和manager_id)
    SELECT last_name,department_id,department_name
    FROM employees
    NATURAL JOIN departments
     
    方式三:SELECT ... JOIN ... USING ...
    有局限性:好于方式二,但若多表的连接列列名不同,此法不合适
    SELECT last_name,department_id,department_name
    FROM employees
    JOIN departments
    USING(department_id)
     
    方式四:SELECT ... FROM ... JOIN ... ON ...
    常用方式,较方式一,更易实现外联接(左、右、满)
    SELECT last_name,e.department_id,department_name
    FROM employees e
    JOIN departments d
    ON e.department_id = d.department_id
     
     
    --内连接
        1)
        --等值连接
        --不等值连接
        2)
        --非自连接
        --自连接
     
    --外连接
        --左外连接、右外连接、满外连接
     
  • 相关阅读:
    void及void指针含义的深刻解析
    jbpm入门样例
    给字符数组赋值的方法
    linux tar.gz zip 解压缩 压缩命令
    android 文件上传
    职员有薪水了
    sublime配置全攻略
    [置顶] WPF数据修改demo
    Java实现快速排序
    Java实现快速排序
  • 原文地址:https://www.cnblogs.com/fengze/p/6663950.html
Copyright © 2020-2023  润新知