数据库关联查询

含义

又称多表查询,当才查询字段来自多个表时,就会用到连接查询

笛卡尔乘积现象:表1有m行,表2有n行,结果=m*n

发生原因:没有有效的连接条件

如何避免:添加有效的连接条件

  • 按功能分类:

    • 内连接

      • 等值连接

      • 非等值连接

      • 自连接

    • 外连接

      • 左外连接

      • 右外连接

内连接

数据库关联查询_第1张图片

 

把满足了条件的两张表中的交集数据查询出来

eg:

SELECT s.no, s.name, s.gender, g.name gname FROM student s INNER JOIN grade g ON s.gradeid = g.id

左外连接

数据库关联查询_第2张图片

 

eg:

SELECT s.no, s.name, s.gender, g.name gname FROM student s LEFT JOIN grade g ON s.gradeid = g.id

右外连接

数据库关联查询_第3张图片

 

eg:

SELECT g.name, COUNT(s.gradeid) FROM student s RIGHT JOIN grade g ON s.gradeid = g.id GROUP BY g.name

你可能感兴趣的:(sql)