MySQL - 数据查询语言DQL数据连接语法及实例

MySQL - 数据查询语言DQL数据连接语法及实例,第1张

合并思想. N个表 -->1个表

连接的定义

将2个或2个以上的表通过一定的条件拼接起来形成一个虚表的过程。连接是from子句的一部分.

从2个表的连接开始.

左表: 放置在你左手边的表. left_tab

右表: 放置在你右手边的表. right_tab

连接语法

三种基本类型:交叉连接,内连接与外连接

交叉连接

返回的就是一个笛卡尔积.

交叉连接语法

内连接

在交叉连接的基础上,仅返回满足连接条件的行.

连接条件

1.使用on关键字来指定.

2.on的用法与where类似.

3.on可以使用连接的所有表中的列值进行判断

内连接的语法

外连接

在内连接的基础上,返回一些额外的行.

左外连接(左连接)

在内连接的基础上,左表除了返回满足连接条件的行之外,剩下的所有不满足连接条件的行也要一并返回,右表中与之没有匹配的行的列值设置为null

右外连接(右连接)

在内连接的基础上,右表除了返回满足连接条件的行之外,剩下的所有不满足连接条件的行也要一并返回,左表中与之没有匹配的行的列值设置为null

外连接语法

语法:

表的别名

注意: 一旦给表设置了别名,则以后只能通过别名引用表中的列.别名会隐藏表名.

join嵌套

可以在一个join中嵌套另外一个join

一般来说,当连接的表的个数N>=3时需要使用嵌套join.

当连接的表的个数为N时,则至少需要N-1个连接条件.

语法:

join嵌套

与内连接中的join嵌套用法类似.

(1)查询表中全部信息:

select * from 表名

(2)查询表中指定列的信息:

select 列1,列2 from 表名

(3)去重:

select distinct 列... from 表名

(4)拼接结果:

select concat(列1,列2) from 表名

(5)设置别名(注意:关键字as可以省略)

select 列 as 别名 from 表名

select 列 别名 from 表名

(6)条件查询:

select 列... from 表名 where 条件

条件中比较运算符:(等于:=  大于:> 大于等于:>=  小于:< 小于等于:<=  不等于:!= 或 <>)

(7)where 列  比较运算符  值

注意:字符串、日期需使用单引号括起来

(8)逻辑运算符(并且:and或&&   或:or   非:not或!)

where 条件1 逻辑运算符 条件2

where not 条件

(9)范围查询:

where 列 between 条件1  and 条件2          //列在这个区间的值where 列 not between 条件1 and 条件2    //不在这个区间where !( 列 between 条件1 and 条件2 )     //同样表示不在这个区间

集合查询(判断列的值是否在指定的集合中):

where 列 in(值1,值2)         //列中的数据是in后的值里面的where 列 not in(值1,值2)  //不是in中指定值的数据

null值查询(注意:列中值为null不能使用=去查询):

where 列 is null //查询列中值为null的数据

资料来源 网页链接


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6187863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存