intersect
和 UNION 指令类似, INTERSECT 也是对两个 SQL 语句所产生的结果做处理的。不同的地方是, UNION 基本上是一个 OR (如果这个值存在于第一句或是第二句,它就会被选出),而 INTERSECT 则比较像 AND ( 这个值要存在于第一句和第二句才会被选出)。 UNION 是联集,而 INTERSECT 是交集。 INTERSECT 的语法如下:
[SQL 语句 1] INTERSECT [SQL 语句 2]
select 'a' from dual
intersect
select 'a' from dual
结果为: a
select '' from dual
intersect
select 'a' from dual
结果为: 空
在 INTERSECT 指令下,不同的值只会被列出一次。
minus
MINUS 指令是运用在两个 SQL 语句上。它先找出第一个 SQL 语句所产生的结果,然后看这些结果有没 有在第二个 SQL 语句的结果中。如果有的话,那这一笔资料就被去除,而不会在后的结果中出现。如 果第二个 SQL 语句所产生的结果并没有存在于第一个 SQL 语句所产生的结果内,那这笔资料就被抛弃。
MINUS 的语法如下: [SQL 语句 1] MINUS [SQL 语句 2]
SELECT Date FROM Store_Information
MINUS
SELECT Date FROM Internet_Sales
日常使用:
ORDER BY 可以用栏位的顺序(sql句中的顺序)达到效果
SELECT store_name, Sales, Date FROM Store_Information ORDER BY 2 DESC
函数 distinct(每个只的次数不重复)
select distinct ‘名称’from tab
TRIM 函数是用来移除掉一个字串中的字头或字尾
LTRIM(字串): 将所有字串起头的空白移除。
RTRIM(字串): 将所有字串结尾的空白移除。
substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不 完全一样:
MySQL: SUBSTR(), SUBSTRING()
Oracle: SUBSTR()
SQL Server: SUBSTRING()
SELECT SUBSTR(store_name,2,4) FROM Geography WHERE store_name = 'San Diego'; 结果: 'an D'