• 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 字段值。

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

  • 相关阅读:
    我的第一个Django项目
    MVC和MTV设计模式
    Linux下安装MySQL
    UEditor演变的迷你版编辑器
    PHP+Mysql+jQuery实现文件下载次数统计
    PHP+JQUEY+AJAX实现分页
    PHP高手之路(一)
    nginx别名alias支持PHP fastcgi解析
    免费的FRP--windows 内网使用Argo Tunnel打洞到 Cloudflare
    拾得他人闲话 DNS 的牙慧
  • 原文地址:https://www.cnblogs.com/lavender1221/p/12903991.html
Copyright © 2020-2023  润新知