zoukankan      html  css  js  c++  java
  • sql基础语法-联接查询

    交叉联接

    1.不带where条件的,将返回两个表的 行乘积

    select c.*, e.* from Sales.Customers c
    cross join hr.Employees e

    2.带where 条件的,交叉联接不能使用ON

    select e1.empid,e1.firstname,e1.lastname,
           e2.empid,e2.firstname,e2.lastname
           from HR.Employees as e1
           cross join HR.Employees as e2 where e1.empid= e2.empid

    内联接

    内联接先对两个表做笛卡尔乘积,再用on进行筛选,Inner join,默认Inner可以忽略。

    SELECT E.empid,E.firstname,E.lastname,O.orderid
    From HR.Employees AS E
        JOIN Sales.Orders AS O
        ON E.empid=O.empid

    外联接

    1)左外连接LEFT [OUTER] JOIN

    显示符合条件的数据行,同时显示左边数据表不符合条件的数据行,右边没有对应的条目显示NULL

    例如,以下查询会查询出,没有订单的客户信息,orderid 填充NULL

    SELECT C.custid,C.companyname,O.orderid
        FROM Sales.Customers AS C
        LEFT OUTER JOIN Sales.Orders AS O
        ON C.custid=O.custid

    2)右外连接RIGHT [OUTER] JOIN

    显示符合条件的数据行,同时显示右边数据表不符合条件的数据行,左边没有对应的条目显示NULL

    例如,以下查询会查出所有的订单信息,没有订单信息的customer信息不会被查出。

    SELECT O.orderid,C.custid,C.companyname
        FROM Sales.Orders AS O 
        LEFT OUTER JOIN Sales.Customers AS C
        ON O.custid=C.custid

    3)全外连接full [outer] join

    显示符合条件的数据行,同时显示左右不符合条件的数据行,相应的左右两边显示NULL,即显示左连接、右连接和内连接的并集。

    例如以下代码,返回的结果集行数相通,对于没有订单的customer同样会返回数据。

       SELECT C.custid,C.companyname,O.orderid
        FROM Sales.Customers AS C
        FULL OUTER JOIN Sales.Orders AS O
        ON C.custid=O.custid
    
        SELECT O.orderid,C.custid,C.companyname
        FROM Sales.Orders AS O 
        FULL OUTER JOIN Sales.Customers AS C
        ON O.custid=C.custid

    其他联接-复合联接

    其他联接-不等联接

    其他联接-多联接查查询

  • 相关阅读:
    windwos8.1英文版安装SQL2008 R2中断停止的解决方案
    indwows8.1 英文版64位安装数据库时出现The ENU localization is not supported by this SQL Server media
    Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds
    SQL数据附加问题
    eclipse,myeclipse中集合svn的方法
    JAVA SSH 框架介绍
    SSH框架-相关知识点
    SuperMapRealSpace Heading Tilt Roll的理解
    SuperMap iserver manage不能访问本地目的(IE9)
    Myeclipse中js文件中的乱码处理
  • 原文地址:https://www.cnblogs.com/shuzhenyu/p/5732543.html
Copyright © 2011-2022 走看看