• sql数据库中常用连接


    很简单的知识点,今天有点搞不清楚左外连接,右外连接:详见以下:

    --表stu 
    id name 
    1, Jack 
    2, Tom 
    3, Kity 
    4, nono 
    --表exam 
    id grade 
    1, 56 
    2, 76 
    11, 89 

    内连接 (显示两表id匹配的) 
    select stu.id,exam.id,stu.name, exam.grade from stu inner join exam on stu.id=exam.id 

    -------------------------------- 
    1 1 Jack 56 
    2 2 Tom 76 


    左连接(显示join 左边的表的所有数据,exam只有两条记录,所以stu.id,grade 都用NULL 显示) 
    select stu.id,exam.id,stu.name, exam.grade from stu left join exam on stu.id=exam.id 
    1 1 Jack 56 
    2 2 Tom 76 
    3 NULL Kity NULL 
    4 NULL nono NULL 

    右连接(与作连接相反,显示join右边表的所有数据) 
    select stu.id,exam.id,stu.name, exam.grade from stu right join exam on stu.id=exam.id 
    1 1 Jack 56 
    2 2 Tom 76 
    NULL 11 NULL 89
     
     
    内连接取交集,外连接分左和右, 
    左连接左边的全取, 
    右连接右边的全取
     
    内连接:进行连接的两个表对应的相匹配的字段完全相同的连接。 

    外连接又分为左外连接和右外连接。 
    左连接即LEFT OUTER JOIN: 
    两个表进行左连接时会返回左边表中的所有的行和右边表中与之相匹配的列值没有相匹配的用空值代替。 

    右连接即RIGHT OUTER JOIN: 
    两个表进行右连接时会返回右边表中的所有的行和左边表中与之相匹配的列值没有相匹配的用空值代替。 

     
    内联接:显示两个表想匹配的行,左连接显示JION左表的行,右表没有想匹配的,用NUL代替!右联接和左连接相反,全连接和左右连接的合计。 

    使用左向外联接 
    假设在 city 列上联接 authors 表和 publishers 表。结果只显示在出版商所在城市居住的作者(本例中为 Abraham Bennet 和 Cheryl Carson)。 

    若要在结果中包括所有的作者,而不管出版商是否住在同一个城市,请使用 SQL-92 左向外联接。下面是 Transact-SQL 左向外联接的查询和结果: 
     
  • 相关阅读:
    [原创]什么是兼容性测试?
    [原创]Web开发测试辅助工具介绍
    [原创]如何顺利通过中国电信Brew平台软件测试?
    [原创]网站性能优化利器之二"Yahoo Yslow"
    [原创]HP SiteScope工具介绍及下载地址
    [原创]网站前端页面级性能测试方法
    [原创]网银在线chinabank安全漏洞之“不完善的开发软件包”
    [原创] linux必学的常用命令
    [原创]如何做好目标管理?
    Visual Studio 小技巧:自定义代码片断
  • 原文地址:https://www.cnblogs.com/yuanting/p/4764499.html
Copyright © 2020-2023  润新知