美文网首页
mysql DQL语言连接查询

mysql DQL语言连接查询

作者: 清水秋香 | 来源:发表于2020-05-17 00:56 被阅读0次

一、含义
当查询中涉及到了多个表的字段,需要使用多表连接
select 字段1,字段2
from 表1,表2,...;

笛卡尔乘积:当查询多个表时,没有添加有效的连接条件,导致多个表所有行实现完全连接
如何解决:添加有效的连接条件

二、分类

按年代分类:
sql92:
等值
非等值
自连接

    也支持一部分外连接(用于oracle、sqlserver,mysql不支持)
sql99【推荐使用】
    内连接
        等值
        非等值
        自连接
    外连接
        左外
        右外
        全外(mysql不支持)
    交叉连接

三、SQL92语法
1、等值连接
语法:
select 查询列表
from 表1 别名,表2 别名
where 表1.key=表2.key
【and 筛选条件】
【group by 分组字段】
【having 分组后的筛选】
【order by 排序字段】

特点:
① 一般为表起别名
②多表的顺序可以调换
③n表连接至少需要n-1个连接条件
④等值连接的结果是多表的交集部分

2、非等值连接
语法:
select 查询列表
from 表1 别名,表2 别名
where 非等值的连接条件
【and 筛选条件】
【group by 分组字段】
【having 分组后的筛选】
【order by 排序字段】
3、自连接

语法:
select 查询列表
from 表 别名1,表 别名2
where 等值的连接条件
【and 筛选条件】
【group by 分组字段】
【having 分组后的筛选】
【order by 排序字段】

四、SQL99语法
1、内连接
语法:
select 查询列表
from 表1 别名
【inner】 join 表2 别名 on 连接条件
where 筛选条件
group by 分组列表
having 分组后的筛选
order by 排序列表
limit 子句;

特点:
①表的顺序可以调换
②内连接的结果=多表的交集
③n表连接至少需要n-1个连接条件

分类:
等值连接
非等值连接
自连接

2、外连接
语法:
select 查询列表
from 表1 别名
left|right|full【outer】 join 表2 别名 on 连接条件
where 筛选条件
group by 分组列表
having 分组后的筛选
order by 排序列表
limit 子句;
特点:
①查询的结果=主表中所有的行,如果从表和它匹配的将显示匹配行,如果从表没有匹配的则显示null
②left join 左边的就是主表,right join 右边的就是主表
full join 两边都是主表
③一般用于查询除了交集部分的剩余的不匹配的行

3、交叉连接

语法:
select 查询列表
from 表1 别名
cross join 表2 别名;

特点:
类似于笛卡尔乘积

相关文章

  • 5000年来最易看懂的MYSQL DQL语言

    MYSQL 的查询语言——————DQL一、DQL语言基本规则 ①DQL(Data Query Language)...

  • mysql DQL语言连接查询

    一、含义当查询中涉及到了多个表的字段,需要使用多表连接select 字段1,字段2from 表1,表2,...; ...

  • MYSQL——DQL查询语言

    DQL查询语句 语法 基础查询 查询单个字段 查询多个字段 去掉重复 注意去除重复的需要结果集完全相同才能进行去除...

  • 数据库mysql(二)

    数据库学习(mysql) 四. 数据查询(DQL:数据查询语言) 1. 基础查询 1. 多个字段查询:select...

  • DQL

    MySQL单表查询:目的:在MySQL管理软件中,可以通过SQL语句中的DQL语言来实现数据的分类:简单查询:如所...

  • MySQL增删改查(基础)

    2020-09-14 MySQL增删改查操作 DQL:数据查询语言DML:数据操作语言DCL:数据控制语言DDL:...

  • SQL基础概念

    SQL分类 DQL(数据查询语言):查询语句,凡是select都是DQL DML(数据操作语言):insert d...

  • sql语句的分类DQL、DML、DDL、DCL

    1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成的查询...

  • mysql DQL语言分组查询

    一、语法select 分组函数,分组后的字段from 表【where 筛选条件】group by 分组的字段【ha...

  • mysql DQL语言联合查询

    一、含义union:合并、联合,将多次查询结果合并成一个结果二、语法查询语句1union 【all】查询语句2un...

网友评论

      本文标题:mysql DQL语言连接查询

      本文链接:https://www.haomeiwen.com/subject/tpzdohtx.html