mysql基础之连接
sql92语法
连接查询
含义:多表查询,当查询的字段来自多个表时,就会用到多表查询
笛卡尔积
表1,有m行,表2有n行,结果等于m*n行数据
发生原因:没有有效的连接条件
如何避免:添加有效的连接条件
分类
内连接:等值连接,非等值连接,自连接
外连接:左外连接,右外连接,全外连接
交叉连接
内连接:等值连接
select beauty.name,boyName from beauty,boys where boyfriend_id=boys.id;
内连接:非等值连接
select beauty.name,boyName from beauty,boys where boyfriend_id!=boys.id;
交叉连接:指的是自己和自己进行关联
sql99语法
语法:
select 查询列表
from 表1 别名【连接类型】
join 表2 别名
on 连接条件
where 筛选条件
group by 分组
having 筛选条件
order by 排序列表
分类:
内连接:inner
外连接:
左外:left【outer】
右外:right【outer】
全外:full 【outer】
交叉连接:cross
内连接
语法:
select 查询列表
from 表1 别名
inner join 表2 别名
on 连接条件;
分类:
等值连接
非等值连接
自连接
外连接
特点:
1.外连接的查询结果为主表中的所有记录
2.如果从表中有和它匹配的,则显示匹配的值
3.如果从表中没有和它匹配的,则显示null
4.外连接查询结果=内连接结果+主表中有而从表中没有的记录
5.左外连接,left join 左边是主表
6.右外连接,right join 右边的是主表
7.左外和右外交换两个表的顺序,可以实现相同的结果



本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/articles/15941630.html

浙公网安备 33010602011771号