zoukankan      html  css  js  c++  java
  • Mysql内外连接

    1.自然连接(natural join)
    自然连接将表中具有相同名称的列自动进行匹配,自然连接不必指定任何同等连接条件也不能认为指定哪些列需要被匹配,自然连接得到的结果表中,两表中名称相同的列只出现一次。
    select * from employee natural join department;

    2.内连接(inner join):产生的结果是A和B的交集(相同列里面的相同值)
    内连接查询能将左表和右表中能关联起来的数据连接后返回,返回的结果就是两个表中所有相匹配的数据。
    select * from TableA as A inner join TableB B on A.PK = B.PK;
    select * from TableA as A inner join TableB B on A.PK > B.PK;


    3.外连接(outer join)
    内连接是要显示两张表的内存,而外连接不要求如此,外连接可以依据连接表保留左表,右表或全部表的行为而分为左外连接右外连接和全连接。
    select * from TableA as A left(right/full) join TableB as B on A.PA = B.PK;

    Full Join:产生的结果是A和B的并集(如果没有相同的值会用null作为值)


    Left Join:产生表B的完全集,而A表中匹配的则有值(没有匹配的则以null值取代)
    SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name


    Right Join:产生表A的完全集,而B表中匹配的则有值(没有匹配的则以null值取代)


    4.交叉连接(cross join)
    又称笛卡尔连接,交叉连接返回两个集合的笛卡尔积。
    select * from TableA cross join Tab

  • 相关阅读:
    Java设置环境变量
    php 生成二维码
    php 生成读取csv文件并解决中文乱码
    php 过滤重复的数组
    php 读取,生成excel文件
    php 逐行读取文本文件
    php 多维数组按键值分类
    python学习,day2:利用列表做购物车实例
    python学习,day1作业:设计一个三级菜单
    python学习,day2:字典
  • 原文地址:https://www.cnblogs.com/Mr--zhao/p/12212775.html
Copyright © 2011-2022 走看看