union只是将两个结果联结起来一起显示,并不是联结两个表………… UNION 的语法如下: [SQL 语句 1]
UNION
[SQL 语句 2] 假设我们有以下的两个表格, Store_Information 表格 store_name Sales Date
| 代码如下 | 复制代码 |
| Los Angeles $1500 Jan-05-1999 San Diego $250 Jan-07-1999 Los Angeles $300 Jan-08-1999 Boston $700 Jan-08-1999 Internet Sales 表格 Date Sales Jan-07-1999 $250 Jan-10-1999 $535 Jan-11-1999 $320 Jan-12-1999 $750 |
|
而我们要找出来所有有营业额 (sales) 的日子。要达到这个目的,我们用以下的 SQL 语句: SELECT Date FROM
| 代码如下 | 复制代码 |
| Store_Information UNION SELECT Date FROM Internet_Sales 结果: Date Jan-05-1999 Jan-07-1999 Jan-08-1999 Jan-10-1999 Jan-11-1999 Jan-12-1999 |
|
有一点值得注意的是,如果我们在任何一个 SQL 语句 (或是两句都一起) 用 "SELECT DISTINCT Date" 的话,那我们会得到完全一样的结果。
SQL UNION ALL 语法
| 代码如下 | 复制代码 |
| SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2 |
|
另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
UNION ALL
UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。
SQL Statement 1
UNION ALL
SQL Statement 2
使用 UNION ALL 命令
实例:
列出在中国和美国的所有的雇员:
| 代码如下 | 复制代码 |
|
SELECT E_Name FROM Employees_China 结果 E_Name |
|
如果能确定没有重复行,建议使用UNION ALL,不用排序。
1.order by子句必须写在最后一个结果集里,并且其排序规则将改变操作后的排序结果。对于Union、Union All、Intersect、Minus都有效。
2.Union可以对字段名不同但数据类型相同的结果集进行合并;
3.如果字段名不同的结果集进行Union,那么对此字段的Order by子句将失效。
4.Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
5.Union All,对两个结果集进行并集操作,包括重复行,不进行排序;
6.Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
7.Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。
8.可以在最后一个结果集中指定Order by子句改变排序方式。
《黎明杀机》开发商正开发新的《Serious Sam》游戏 由Devolver发行
超英派遣中心即将登陆Xbox Play Anywhere 深入了解这款独特而备受喜爱的冒险游戏
在《Hunter: The Reckoning – Deathwish》中怎么从猎物蜕变为猎手
《The Expanse: Osiris Reborn》——深入了解玩法 新同伴 封闭测试及发行窗口
Alien Deathstorm 科幻生存与动作结合 打造全新第一人称恐怖混合体验
宝可梦公司已在考虑未来可用口袋妖怪总数达到“或许一万只”
幸存者村庄2
怪可爱的店折相思菜单
怪可爱的店折相思菜单是一款画风治愈的模拟经营佳作,内置折相思菜单解锁多项便利功能
lol电竞经理人手游
lol电竞经理人手游让你可以成为职业的电竞经理人,在游戏中掌控游戏的走向!豪华阵
梦幻奶茶屋小游戏
梦幻奶茶屋是一款主打温馨治愈氛围的休闲经营作品,玩家将化身元气满满的奶茶店店长,
萌宠养成物语无限金币版
萌宠养成物语无限金币版是一款治愈系模拟养成游戏,以可爱卡通画风构建温馨虚拟世界,