Datawhale task4: MySQL 基础 (三)- 表联结

MySQL别名

  • 定义:表名、列明后面接AS xx,xx就是表/列的别名,AS也可省略。
  • 作用:
    1.是缩短对象的长度,方便书写,使名称语句简洁
    2.区别同名对象,在自连接查询时,同一个表要连接查询本身,就需要用别名来区分表名及列名;
  • 示例:
    Datawhale task4: MySQL 基础 (三)- 表联结

INNER JOIN

  • 语法:
    Datawhale task4: MySQL 基础 (三)- 表联结
  • 解释:
    inner join(等值连接) 只返回两个表中联结字段相等的行,即取交集

LEFT JOIN

  • 语法 :
    Datawhale task4: MySQL 基础 (三)- 表联结
  • 解释:
    LEFT JOIN (左连接)关键字会返回左表 (table1)所有的行,即使在右表(table2) 中没有匹配到字段相等的行

CROSS JOIN

  • 语法:
    Datawhale task4: MySQL 基础 (三)- 表联结
  • 解释:
    CROSS JOIN又称为笛卡尔乘积,实际上是把两个表乘起来,这个不太好描述清楚,通过实例更好的清楚CROSS JOIN的用法
  • 实例如下:
    Datawhale task4: MySQL 基础 (三)- 表联结
    Datawhale task4: MySQL 基础 (三)- 表联结
    执行如下cross join 语句,连接两个表:
    Datawhale task4: MySQL 基础 (三)- 表联结
    返回结果如下:
    Datawhale task4: MySQL 基础 (三)- 表联结

自连接

  • 语法:
    Datawhale task4: MySQL 基础 (三)- 表联结
  • 解释:
    自连接查询其实等同于连接查询,需要两张表,只不过它的左表(父表)和右表(子表)都是自己。做自连接查询的时候,是自己和自己连接,分别给父表和子表取两个不同的别名,然后附上连接条件

UNION

  • 语法:

1.UNION
Datawhale task4: MySQL 基础 (三)- 表联结
2.UNION ALL
Datawhale task4: MySQL 基础 (三)- 表联结

  • 解释:
  1. UNION 操作符用于合并两个或多个 SELECT 语句的结果集
  2. UNION 操作符选取不同的值,如果允许重复的值,则使用 UNION ALL
  3. UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型,同时,每条 SELECT 语句中的列的顺序必须相同

项目五

1.创建表,插入数据
Datawhale task4: MySQL 基础 (三)- 表联结
2.无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:FirstName, LastName, City, State,结果如下:
Datawhale task4: MySQL 基础 (三)- 表联结

项目六

1.创建表,插入数据
Datawhale task4: MySQL 基础 (三)- 表联结
2.删除 email 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个,结果如下:
Datawhale task4: MySQL 基础 (三)- 表联结