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;
    
  • 相关阅读:
    怎样使用 Apache ab 以及 OneAPM 进行压力測试?
    opencv之haar特征+AdaBoos分类器算法流程(三)
    分区函数Partition By的与row_number()的用法以及与排序rank()的用法详解(获取分组(分区)中前几条记录)
    REST API 调用 方法
    WebApi的安全性及其解决方案
    使用Topshelf创建Windows服务
    LINQ查询操作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Count
    sqlbulkcopy 多表批量保存
    C#使用HttpWebRequest和HttpWebResponse上传文件示例
    C#模拟客户端发送数据示例
  • 原文地址:https://www.cnblogs.com/LuckPsyduck/p/12608290.html
Copyright © 2011-2022 走看看