查询:
在select查询中,又嵌套了一个select查询。一个是外层查询,另一个是内层查询。
Where子查询
就是在where查询语句有一个select语句,把内层查询的结果当做外层查询的条件。
From子查询
在from 查询语句中,有一个select语句,把内层查询结果作为一张临时表,供外层再一次查询。
区别:
对于不是唯一取值的列,使用where子查可能会出现不正确的结果。如果用from,有分组的情况下,我们要通过排序把需要的记录放在第一的位置上。
Exists
#查询有商品的栏目
代码如下 | 复制代码 |
select cat_id,cat_name from category where cat_id in (select distinct cat_id from goods); |
我们还可以通过Exists 子查询:
代码如下 | 复制代码 |
select cat_id,cat_name from category where exists (select * from goods where goods.cat_id = category.cat_id); |
执行过程:
它和前面我们讲的where、from子查询不同,where和from子查询只执行一次,而exists子查询要查询多次(有多少行记录就执行多少次)。
SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
SQL UNION 语法
代码如下 | 复制代码 |
SELECT column_name(s) FROM table_name1 |
注释:默认地,UNION 操作符选取不同的值,即UNION是去了重的。如果允许重复的值,请使用 UNION ALL。
SQL UNION ALL 语法
代码如下 | 复制代码 |
SELECT column_name(s) FROM table_name1 |
另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
UNION 指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看, UNION 跟 JOIN 有些许类似,因为这两个指令都可以由多个表格中撷取资料。union只是将两个结果联结起来一起显示,并不是联结两个表
创造与魔法 安卓版v1.0.0750
创造与魔法是一款开放世界手游,在游戏中玩家可探索这个奇妙的世
创造与魔法修改版 最新版v1.0.0750
创造与魔法无限点券版是款探索冒险游戏,该款游戏的操作还是蛮自
战争与文明官方版本 安卓版v1.7.16
战争与文明是一款由上海邮通科技有限公司开发的战争策略游戏,这
迷你世界0元领皮肤无限迷你币版 最新安卓版v1.43.0
迷你世界0元购买皮肤版是这款开放沙盒冒险建造游戏的特殊破解版
创造与魔法无限经验版 安卓版v1.0.0750
创造与魔法无限经验版是款可以改造环境,整个游戏的自由度还是蛮