• 各种联接的使用示例.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
    --*/
  • 相关阅读:
    Manacher-模版题poj3974 hdu3068
    拓展kmp(带注释版)
    颓の第17周
    php 递归遍历目录带缩进
    php 递归遍历目录
    php session
    apache主机配置
    php环境配置的检测方法
    php 变量
    php MVC
  • 原文地址:https://www.cnblogs.com/shihao/p/2509627.html
Copyright © 2020-2023  润新知