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

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

  • 相关阅读:
    小数据池,bytes
    不会的知识总结:
    nginx低版本不支持pathinfo模式,thinkphp针对此问题的解决办法
    备份了一个nginx的虚拟主机配置文件报错
    centos修改ssh端口
    CentOS安装配置Git服务器(gitosis)
    干货CentOS6.5_Nginx1.40_Php5.57_MySQL5.5.35编译安装全记录
    编译升级php
    php源代码安装常见错误与解决办法分享
    兼容IE,Firefox,Opera等浏览器的添加到收藏夹js代码实现
  • 原文地址:https://www.cnblogs.com/lavender1221/p/12903991.html
Copyright © 2011-2022 走看看