zoukankan      html  css  js  c++  java
  • SQL基础学习_06_集合运算和联结

    集合运算

    1. 并集:UNION

        例:

        SELECT shohin_id, shohin_mei
        FROM Shohin
        UNION
        SELECT shohin_id, shohin_mei
        FROM Shohin2;

        将Shohin和Shohin2两张表的shohin_id和shohin_mei两列取并集;

        注意,UNION操作时,列数必须相等,且每列的数据类型应该相同

        保留重复行: UNION ALL

    2. 交集:INTERSECT

        语法和UNION完全相同,但是取的是交集部分

    3. 差集:EXCEPT

        语法和UNION完全相同,取第一张表中有,第二张表中没有的记录

    表的联结

    集合运算会改变记录数(行数),联结就是对两张表的列进行联结,改变的是列数

    1. 内联结: INNER JOIN

        例:

        SELECT TS.tenpo_id, TS.tenpo_mei, TS.shohin_id, S.shohin_mei, S.hanbai_tanka
        FROM TenpoShohin AS TS INNER JOIN Shohin AS S
        ON TS.shohin_id = S.shohin_id

        SELECT子句指定需要连接的列,注意由于SELECT操作时间在FROM之后,所以FROM的别名在SELECT中有效;

        FROM子句指定两个表的名字,并且用INNER JOIN连接;

        ON 子句指定一个表达式,作为联结的桥梁,满足该表达式的记录会联结两个表中的相应列;

        内联结可以使用WHERE子句等SELECT语句进行删选;

    2. 外联结: OUTER JOIN

        外联结相比内联结会显示只在主表中出现的记录;

        例:

        SELECT TS.tenpo_id, TS.tenpo_mei, S.shohin_id, S.shohin_mei, S.hanbai_tanka
        FROM TenpoShohin AS TS RIGHT OUTER JOIN Shohin AS S
        ON TS.shohin_id = S.shohin_id;

        外联结的语法和内联结基本相同,不同的是,外联结使用LEFT、RIGHT来指定主表,

        使用LEFT时,写在左侧的表为主表,使用RIGHT时,写在右侧的表为主表;

    3. 联结三张表以上

        先联结其中的两张表为一张,依次操作直到最后做两张表的联结;

    4. 交叉联结:CROSS JOIN

        交叉联结时,对左侧表和右侧表的每一个记录进行联结,生成一张比较长的表;(笛卡尔积)

       

  • 相关阅读:
    算法练习题
    牛XX面试题
    web前端面试题
    在js中什么情况下会返回undefined
    yarn
    Web 开发技巧
    dll 文件创建与使用
    【转】 VS2008在64位Windows平台上编译ArcEngine导致HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)错误的解决办法
    Googlemap获取经纬度For APIV3
    javascript局部变量/全局变量
  • 原文地址:https://www.cnblogs.com/lyon2014/p/4693829.html
Copyright © 2011-2022 走看看