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
    --*/
  • 相关阅读:
    oracle维护表空间和数据文件
    IOS 应用的架构解析
    html5之拖放简单效果
    跟Google学习Android开发-起始篇-与其它应用程序交互(1)
    淘宝服务市场 淘宝订单同步方案
    论文阅读笔记
    页面爬虫(获取其他页面HTML)加载到自己页面
    由href return false 来看阻止默认事件
    Delete it
    Mac上利用Eclipse编译Cocos2d-x
  • 原文地址:https://www.cnblogs.com/shihao/p/2509627.html
Copyright © 2011-2022 走看看