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.左外和右外交换两个表的顺序,可以实现相同的结果


posted @ 2022-02-27 10:25  King-DA  阅读(26)  评论(0)    收藏  举报