其他分享
首页 > 其他分享> > select查询

select查询

作者:互联网

内连接查询

内连接

a inner join b on a.x=b.x

外连接查询

左连接

a left join b on a.x=b.x

右连接

a right koin b on a.x=b.x

联合查询

union /union all

其中union选项有两个选项可选
all:表示无论重复都输出
distinct: 去重(整个重复)(默认的)

联合查询只要求字段一样, 跟数据类型和顺序无关

联合查询的意义:

查询同一张表,但是需求不同 如查询学生信息, 男生身高升序, 女生身高降序
多表查询: 多张表的结构是完全一样的,保存的数据(结构)也是一样的.
联合查询order by的使用
在联合查询中: order by不能直接使用(不能出现两次),需要对查询语句使用括号才行;
也就是说,order by不能直接出现在union的子句中,但是可以出现在子句的子句中。

子查询

带in关键字的子查询

使用in关键字可以将原表中特定列的值与子查询返回的结果集中的值进行比较
如果某行的特定列的值存在,则在select语句的查询结果中就包含这一行。

带比较运算符的子查询

如果可以确认子查询返回的结果只包含一个单值,那么可以直接使用比较运算符连接子查询。
经常使用的比较运算符包括等于(=)、不等于(<>或!=)、小于(<)、大于(>)、小于等于(<=)和大于等于(>=)。

带exists的子查询

exists: 是否存在的意思, exists子查询就是用来判断某些条件是否满足(跨表),
exists是接在where之后
exists返回的结果只有0和1.

带any关键字的子查询

any关键字表示满足其中的任意一个条件,使用any关键字时,只要满足内层查询语句结果的的任意一个,就可以通过该条件来执行外层查询语句。

带all关键字的子查询

all和any刚好是相反的,all关键字表示满足所有结果,使用all关键字,要满足内层查询语句的所有结果,才可以通过该条件来执行外层查询语句。

标签:语句,join,exists,union,查询,关键字,select
来源: https://www.cnblogs.com/east-9527/p/16329519.html