zoukankan      html  css  js  c++  java
  • 各种联接的使用示例.sql

    --测试数据
    DECLARE @a TABLE(id int)
    INSERT @a SELECT 1
    UNION ALL SELECT 2

    DECLARE @b TABLE(id int)
    INSERT @b SELECT 2
    UNION ALL SELECT 3

    --内联接
    SELECT * FROM @a a JOIN @b b ON a.id=b.id
    SELECT * FROM @a a,@b b WHERE a.id=b.id
    /*--结果(只返回两个表中id相同的记录)
    id           id
    ---------------- -----------
    2           2
    --*/

    --左向外联接
    SELECT * FROM @a a LEFT JOIN @b b ON a.id=b.id
    SELECT * FROM @a a,@b b WHERE a.id*=b.id --会产生不明确查询,不建议再使用这种方式
    /*--结果(返回@a(左边表)所有的记录,及@b(右边表)的id与@a表id匹配的记录),不匹配的用NULL表示
    id           id
    ----------------- -----------
    1           NULL
    2           2
    --*/

    --右向外联接
    SELECT * FROM @a a RIGHT JOIN @b b ON a.id=b.id
    SELECT * FROM @a a,@b b WHERE a.id=*b.id –会产生不明确查询,不建议再使用这种方式
    /*--结果(返回@b(右边表)所有的记录,及@a(左边表)的id与@b表id匹配的记录),不匹配的用NULL表示
    id           id
    ----------------- -----------
    2           2
    NULL       3
    --*/

    --完整外部联接
    SELECT * FROM @a a FULL JOIN @b b ON a.id=b.id
    /*--结果(返回@a与@b表所有的记录,id不匹配的用NULL表示
    id           id
    ----------------- -----------
    2           2
    NULL       3
    1           NULL
    --*/

    --交叉联接
    SELECT * FROM @a a CROSS JOIN @b b
    SELECT * FROM @a a,@b b
    /*--结果:
    id           id
    ----------------- -----------
    1           2
    2           2
    1           3
    2           3
    --*/
  • 相关阅读:
    如何让AlertDialog 在点击确定或者取消时不消失
    你的睡眠时间和睡眠质量达标了么?
    如何使用指定浏览器打开网页
    国内主流Android安卓应用市场简介
    位运算——pku2436患病的奶牛
    高精度——sgu112
    树插入,树遍历——hdu3999
    大浮点数相加——hdu1753
    小数的幂——pku1001
    递推型DP——USACO 2009 February Silver bull and cow
  • 原文地址:https://www.cnblogs.com/shihao/p/2509627.html
Copyright © 2011-2022 走看看