zoukankan      html  css  js  c++  java
  • mysql中的连接操作

    1.交叉连接

    交叉连接不带WHERE子句,会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积。



    2.内连接:

    内连接合并具有同一列的两个以上的表的行, 结果集中不包含一个表与另一个表不匹配的行。
    语法:
    SELECT <列名>
    FROM 表1  INNER  JOIN  表2
    ON 表1.列名  条件运算符  表2.列名
    [WHERE 条件]
    [ORDER BY  排序列]

    (1)等值连接
    等值连接必须要有等值的条件,当条件不同时连接的结果也不相同,两个关系可以没有相同的属性列(列名可不同)

    L表:


    Y表:


    where条件为:

    L.A=Y.B:


    L.B=Y.B:


    (2)自然连接:

    自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。而等值连接并不去掉重复的属性列。

    (3)不等值连接:出等号之外的运算符

    3.外连接:
    外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出。(连接条件里属性列可同可不同)
    (1)左外联结   (LEFT JOIN):
    左外连接使用LEFT JOIN连接两表,连接时左表为主表,左表中的每条记录必定出现在结果集中,而在右表中没有对应的记录,将以NULL值进行填充。
    语法:
    SELECT * FROM TABLE_A
    LEFT JOIN TABLE_B
    ON 连接条件
    [WHERE 条件]

    例:select * FROM L left JOIN Y on L.B=Y.C


    (2)右外联结   (RIGHT JOIN):
    右外连接与左外连接相似,不同的是右表为主表,右表中的每条记录必定出现在结果集中,而在左表中没有对应的记录,将以NULL值进行填充。
    语法:
    SELECT * FROM TABLE_A
    RIGHT JOIN TABLE_B
    ON 连接条件

    [WHERE 条件]

    例:select * FROM L RIGHT  JOIN Y on L.B=Y.C


    4.内外连接的区别:


  • 相关阅读:
    20210815 图论模拟赛
    20210813 杂项の模拟赛
    20210812dp模拟赛
    20210811数据结构
    html问题记录20180514
    Oracle导出表空间的创建语句、导入、导出dmp文件
    浮动子div撑开父div的几种方法、给select赋值、zoom样式的含义、实现select下拉框readonly
    Fidder教程
    JQuery插件的写法和规范
    box-sizing position calc() @media
  • 原文地址:https://www.cnblogs.com/mlan/p/11060377.html
Copyright © 2011-2022 走看看