zoukankan      html  css  js  c++  java
  • MySQL之连接

    一、UNION连接

    MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

    语法:

    SELECT expression1, expression2, ... expression_n
    FROM tables
    [WHERE conditions]
    UNION [ALL | DISTINCT]
    SELECT expression1, expression2, ... expression_n
    FROM tables
    [WHERE conditions];
    • expression1, expression2, ... expression_n: 要检索的列。

    • tables: 要检索的数据表。

    • WHERE conditions: 可选, 检索条件。

    • DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。

    • ALL: 可选,返回所有结果集,包含重复数据。

    示例:

    SELECT name FROM man
    UNION ALL
    SELECT name FROM woman
    ORDER BY name;

    下面的 SQL 语句使用 UNION ALL 从 "man" 和 "woman" 表中选取所有的name。

    二、JOIN内连接

    JOIN(INNER JOIN)称作内连接,或等值连接:获取两个表中字段匹配关系的记录。

    示例:

    SELECT a.name,  b.city FROM student a JOIN people b ON a.name= b.name;

    内连接相当于数学里面的交集。

    三、LEFT JOIN左连接

    left join 与 join 有所不同。

    LEFT JOIN称作左连接:获取左表所有记录,即使右表没有对应匹配的记录。

    示例:

    SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;

    以上实例中使用了 LEFT JOIN,该语句会读取左边的数据表 runoob_tbl 的所有选取的字段数据,即便在右侧表 tcount_tbl中 没有对应的 runoob_author 字段值。

    四、RIGHT JOIN右连接

    RIGHT JOIN称作右连接: 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

    示例:

    SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a RIGHT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;

    以上实例中使用了 RIGHT JOIN,该语句会读取右边的数据表 tcount_tbl 的所有选取的字段数据,即便在左侧表 runoob_tbl 中没有对应的runoob_author 字段值。

    注意:左连接和右连接只是主表不同,要明确主表是谁,在什么位置。若主表在左侧则使用左连接,反之则使用右连接。

  • 相关阅读:
    一个翻译小程序(带一点点抒情)
    前线解释多线程《二》
    一周杂记(MVC 图片上传)
    MVC杂记<>路由
    MVC杂记<三>Controller
    201920201学期20192412《网络空间安全专业导论》第二周学习总结
    201920201学期20192412《网络空间安全专业导论》第一周学习总结
    命令行执行php脚本 中$argv和$argc
    搭建lnmp教程
    php中static 静态关键字
  • 原文地址:https://www.cnblogs.com/lavender1221/p/12903991.html
Copyright © 2011-2022 走看看