美文网首页
sql自学笔记(七)

sql自学笔记(七)

作者: itczt | 来源:发表于2019-04-10 20:00 被阅读0次

    连接

    MySQL在SELECT语句、多表更新、多表删除语句中支持JOIN操作

    语法结构

    table_reference
    {[INNER | CROSS | JOIN]{LEFT | RIGHT}[OUTER]JOIN}
    table _ reference
    ON conditional _expr
    

    数据表参照

    table _ reference
    tbl _ name [[AS]alias] | table _ subquery [AS] alias
    

    数据表可以使用tbl _ name AS alias _ name 或 tbl _ name alias _name赋予别名。
    tbl _ subquery可以作为子查询使用在FROM子句中,这样的子查询必须为其赋予别名。

    连接类型

    INNER JOIN ,内连接
    在MySQL中,JOIN,CROSS.JOIN和INNER JOIN是等价的。
    LEFT [OUTER] JOIN,左外连接
    EIGHT[OUTER] JOIN ,右连接

    连接条件

    使用ON关键字来设定连接条件,也可以使用WHERE来代替。
    通常使用ON关键字来设定连接条件。
    使用WHERE关键字进行结果集记录的过滤。

    内连接

    显示左表及右表符合连接条件的记录。


    内连接

    左外连接

    显示左表的全部记录及右表符合连接条件的记录。


    左外连接

    右外连接

    显示右表的全部记录及左表符合连接条件的记录。


    右外连接

    外连接

    A LEFT JOIN B join _ condition
    数据表B的结果依赖数据表A。
    数据表A的结果集根据左连接条件依赖所有数据表(B表除外)
    左外连接条件决定如何检索数据B(在没有指定WHERE条件的情况下)。
    如果数据表A的某条记录符合WHERE条件,但是在数据表B不存在符合连接条件的记录,将生成一个所有列为空的额外的B行。
    如果使用的连接查找的记录在连接数据表中不存在,并且在WHERE子句中尝试以下操作:col_ namd IS NULL时,如果col _name 被定义为NOT NULL,MySQL将在找到符合连接条件的记录后停止搜索更多的行。

    自身连接

    同一个数据表对其自身进行连接。

    多表删除

    DELETE tbl _ name [.*][tbl _ name [.*]]......
    FROM table _ referencess
    [WHERE where _ condition].
    

    相关文章

      网友评论

          本文标题:sql自学笔记(七)

          本文链接:https://www.haomeiwen.com/subject/lkwoiqtx.html