赞
踩
目录
集合运算就是对满足同一规则的记录进行的加减等四则运算。
使用UNION(并集),INTERSECT(交集),EXCEPT(差集)等集合运算符来进行集合运算。
集合运算可以去除重复行。
如果希望集合运算符保留重复行,就需要使用ALL选项。
使用UNION对表进行加法运算,假设有表Shohin和Shohin2
- SELECT shohin_id, shohin_mei
- FROM Shohin
- UNION
- SELECT shohin_id, shohin_mei
- FROM Shohin2;
- SELECT shohin_id, shohin_mei
- FROM Shohin
- UNION ALL
- SELECT shohin_id, shohin_mei
- FROM Shohin2;
使用INTERSECT选取表中公共部分
- SELECT shohin_id, shohin_mei
- FROM Shohin
- INTERSECT
- SELECT shohin_id, shohin_mei
- FROM Shohin2;
使用EXCEPT对记录进行减法运算
- SELECT shohin_id, shohin_mei
- FROM Shohin
- EXCEPT
- SELECT shohin_id, shohin_mei
- FROM Shohin2;
UNION和INTERSECT等集合运算时以行方向为单位进行操作。通俗的来说就是进行这些集合运算时,会导致记录行数的增减。使用UNION会使行数增加,使用INTERSECT或者EXCEPT 记录行数会减少。
联结运算就是将其他表中的列添加过来进行列田间运算。
将两张表进行内联结
- SELECT TS.tenpo_id, TS.tenpo_mei,TS.shohin_id,S.shohin_mei,S.hanbai_tanka
- FROM TenpoShohin AS TS INNER JOIN Shohin AS s
- ON TS.shohin_id = S.shohin_id;
关键字INNER JOIN就可以将两张表联结再一起。由于表名太长会影响SQL语句的可读性,尽量使用别名。
我们可以在ON之后指定两张表联结所使用的列(联结键)。本例中使用shohin_id。也就是说ON是专门来指定联结条件的。它能起到与WHERE相同的作用。需要指定多个键时,同样可以使用AND,OR。ON子句在进行内联结时时必不可少的。并且ON必须书写在FROM和WHERE之间。
在SELECT子句中使用<表的别名>.<列名>这样的格式进行书写。
- SELECT TS.tenpo_id, TS.tenpo_mei,TS.shohin_id,S.shohin_mei,S.hanbai_tanka
- FROM TenpoShohin AS TS INNER JOIN Shohin AS s
- ON TS.shohin_id = S.shohin_id
- WHERE TS.tenpo_id = '000A';
将两张表进行外联结
- SELECT TS.tenpo_id, TS.tenpo_mei,TS.shohin_id,S.shohin_mei,S.hanbai_tanka
- FROM TenpoShohin AS TS OUTER JOIN Shohin AS s
- ON TS.shohin_id = S.shohin_id
内联结只能选取出两张表同时存在的数据,
外联结只要数据存在某一张表中,就能够读取出来.
外联结名称的由来也跟NULL有关,所谓"外部",也就是外含元表中不存在的信息.
指定主表的关键字LEFT和RIGHT,如果使用LEFT时FROM子句中写在左侧的表为主表,使用RIGHT时右侧的表为主表.
- SELECT TS.tenpo_id, TS.tenpo_mei,TS.shohin_id,S.shohin_mei,S.hanbai_tanka
- FROM TenpoShohin AS TS LEFT OUTER JOIN Shohin AS s
- ON TS.shohin_id = S.shohin_id
实际他们的功能并没有什么区别,使用那个都可以.通常使用LEFT的情况会多一些.
对三张表进行联结
- SELECT TS.tenpo_id, TS.tenpo_mei,TS.shohin_id,S.shohin_mei,S.hanbai_tanka,ZS.zaiko_suryo
- FROM TenpoShohin AS TS INNER JOIN Shohin AS s
- ON TS.shohin_id = S.shohin_id
- INNER JOIN ZaikoShohin AS ZS
- ON TS.shohin_id = ZS.shohin_id
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。