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;
    
  • 相关阅读:
    TensorRT 开始
    Vim 常用操作
    Android AsyncTask 的实现及 cancel 方式
    让 Andriod TextView 中的文本链接可点击的方法—— Linkify 及其他
    Android通过百度地图API用Service和Alarm在后台定时获取地理位置信息
    【转】Mac OS X 快捷键合集
    iframe导致的IE6下https页面安全提示
    [转载]IE的版本识别
    [转]iframe异步加载
    IE的html条件注释
  • 原文地址:https://www.cnblogs.com/LuckPsyduck/p/12608290.html
Copyright © 2011-2022 走看看