SQL表连接的几种方式

表连接的几种方式

  • 表连接
    • 分类
    • 举例说明

这里有两张表,分别为学生表和选课表
students

sno s_name gender age height speciality
1001 张三 18 1.78 计算机
1002 李四 25 1.80 计算机
1003 王五 19 1.67 会计
1004 赵六 22 1.72 物流管理
1005 麦赖 30 1.70 商务英语
1006 孙七 28 1.77 物流管理
1007 周八 22 1.68 物联网
1008 吴九 26 1.60 通信工程
1009 郑十 35 1.72 网络工程

course

sno cno grade
1001 1 70.00
1005 3 90.00
1006 2 80.00
1002 3 70.00
1004 2 70.00
1007 3 85.00
1009 2 89.00
1008 3 77.00
1010 4 99.00

表连接

当查询结果的列来源于多张表时,需要将多张表连接成一个大的数据集,再选择合适的列返回结果。这时我们就需要使用表连接

分类

  • 内连接
  • 外连接
    • 左外连接
    • 右外连接

举例说明

  • 内连接
    将两个表自然连接起来

    • 代码示例:
      SELECT * FROM students s INNER JOIN course c on s.sno=c.sno;
      
    • 运行结果:
      SQL表连接的几种方式_第1张图片
  • 左外连接
    左表所有行都显示,如果左表在右表中没有匹配行,则将右表中不存在的数据用Null填充

    • 代码示例:
      SELECT s.sno,s.s_name,c.sno,c.cno,c.grade FROM students s LEFT JOIN course c on s.sno=c.sno;
      
    • 运行结果:
      SQL表连接的几种方式_第2张图片
  • 右外连接
    右表所有行都显示,如果右表在左表中没有匹配行,则将左表中不存在的数据用Null填充

    • 代码示例:
      SELECT s.sno,s.s_name,c.sno,c.cno,c.grade FROM students s RIGHT JOIN course c on s.sno=c.sno;
      
    • 运行结果:
      SQL表连接的几种方式_第3张图片

你可能感兴趣的:(MySQL学习,sql,mysql,sql表连接)