MySQL连接查询

连接查询
  • 内连接 inner join 查询两个表中的结果集中的交集
  • 外连接 outer join  
  1. 左外连接 left join  以左表作为基准 右边表来一一匹配,匹配不上的,返回左表记录,右表以null填充,left join 左边的表称为左表,右边的表称为右表
  2. 右外连接 right join 以右表作为基准 左边表来一一匹配,匹配不上的,返回右表记录,左表以null填充,right join 右边的表称为右表,左边的表称为左表
  • 自连接
  • 等值连接
  • 非等值连接(交叉连接)
 
 
思路:
1.分析需求,确定查询的列来源于两个表student,result 连接查询
2.确定使用哪一种连接查询?
 
 
内连接:
内连接语法:
select 查询的字段
from 表一
inner join 表二
on 两表查询的条件;
  • 两表查询的条件 一般来说就是两表的主外键
  • 内连接使用比较运算符对两个表中的数据进行比较,并列出与连接条件匹配的数据行,组合成新的记录,也就是说,在内连接查询中,只有满足条件的记录才能出现在查询结果中
  • inner可省略 默认连接是内连接
  • inner join 用于连接两个表,on来指定连接条件
 
非等值连接=交叉连接(无条件连接):
交叉连接语法:
  1. select * from 表一 cross join 表二;
  2. select * from 表一,表二;
  • 返回第一个表中符合查询条件的数据行数乘以第二表中符合查询条件的数据行数(笛卡尔积)
 
 
自连接:
  • 在一个连接查询中,涉及的两个表是同一个表,指相互连接的表在物理上为同一个表,但逻辑上分为两个表,需要写别名
 
 

原文地址:https://www.cnblogs.com/KiligYou/p/10978793.html