zoukankan      html  css  js  c++  java
  • 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 左向外联接的查询和结果: 
     
  • 相关阅读:
    Cocos2dx-Android屏幕适配方案
    Cocos2dx-Mac下的环境配置
    Cocos2dx-C++和Lua数据通讯
    Cocos2dx-Lua与C++混合使用
    安装宝塔面板
    nginx配置ssl安全证书
    在nginx上运行spring
    spring在服务器上的启动和关闭jar包
    idea常用插件
    maven打包war
  • 原文地址:https://www.cnblogs.com/yuanting/p/4764499.html
Copyright © 2011-2022 走看看