zoukankan      html  css  js  c++  java
  • 第十章 再谈连接

    1.基本描述

        本章主要讲解各种连接方式,主要分为左外连接、右外连接、内连接:
        左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(null);
        右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值;
        内联接是用比较运算符比较要联接列的值的联接。

    2.基本样例

    SELECT account_id, cust_id FROM account;
    
    SELECT cust_id FROM customer;
    
    SELECT a.account_id unt_id, c.cust_id FROM account a INNER JOIN customer c ON
    a.cust_id = c.cust_id;
    
    SELECT a.account_id, b.cust_id, b.name FROM account a INNER JOIN business b 
    ON a.cust_id = b.cust_id;
    
    SELECT cust_id, name FROM business;
    
    SELECT a.account_id, a.cust_id, b.name FROM
    account a LEFT OUTER JOIN business b
    ON a.cust_id = b.cust_id;
    
    SELECT a.account_id, a.cust_id, i.fname, i.lname FROM
    account a LEFT OUTER JOIN individual i ON a.cust_id = i.cust_id;
    
    SELECT c.cust_id, b.name FROM customer c LEFT OUTER JOIN business b
    ON c.cust_id = b.cust_id;
    
    SELECT c.cust_id, b.name FROM customer c RIGHT OUTER JOIN business b
    ON c.cust_id = b.cust_id;
    
    SELECT a.account_id, a.product_cd, CONCAT(i.fname, " ", i.lname) person_name, b.name business_name
    FROM account a LEFT OUTER JOIN individual i ON a.cust_id = i.cust_id LEFT OUTER JOIN business b
    ON a.cust_id = b.cust_id;
    
    SELECT e.fname, e.lname, e_mgr.fname mgr_fname, e_mgr.lname mgr_lname FROM employee
    e INNER JOIN employee e_mgr ON e.superior_emp_id = e_mgr.emp_id;
    
    SELECT e.fname, e.lname, e_mgr.fname mgr_fname, e_mgr.lname mgr_lname FROM
    employee e LEFT OUTER JOIN employee e_mgr ON e.superior_emp_id = e_mgr.emp_id;
    
    SELECT e.fname, e.lname, e_mgr.fname mgr_fname, e_mgr.lname mgr_lname FROM
    employee e RIGHT OUTER JOIN employee e_mgr ON e.superior_emp_id = e_mgr.emp_id;
    
    SELECT pt.name, p.product_cd, p.name FROM product p CROSS JOIN product_type pt;
    
    SELECT a.account_id, a.cust_id, c.cust_type_cd, c.fed_id FROM account a NATURAL JOIN customer c;
    
    SELECT a.account_id, a.cust_id, a.open_branch_id, b.name FROM account a NATURAL JOIN branch b;
    
  • 相关阅读:
    Linux 组与用户
    MYSQL 退出的三个方式
    MYSQL ERROR 1045 (28000): Access denied for user 'neeky'@'Nee' (using password: YES)
    MYSQL 的数据读取方式
    MYSQL alter procedure alter function 它们只可以更改过程的特性,不可以更改过程的逻辑。
    MYSQL this function has none of deterministic no sql ......错误
    gunicorn
    supervisor
    wsgi pep333
    Map,Filter和Reduce
  • 原文地址:https://www.cnblogs.com/LuckPsyduck/p/12608290.html
Copyright © 2011-2022 走看看