|
SQL備忘錄: SQL 函數(shù) AVG (平均) COUNT (計(jì)數(shù)) MAX (最大值) MIN (最小值) SUM (總合)
UNION 指令的目的是將兩個(gè) SQL 語句的結(jié)果合并起來。
UNION ALL 這個(gè)指令的目的也是要將兩個(gè) SQL 語句的結(jié)果合并在一起。 UNION ALL 和 UNION 不同之處在于 UNION ALL 會(huì)將每一筆符合條件的資料都列出來,無論資料值有無重復(fù)。 和 UNION 指令類似, INTERSECT 也是對(duì)兩個(gè) SQL 語句所產(chǎn)生的結(jié)果做處理的。不同的地方是, UNION 基本上是一個(gè) OR (如果這個(gè)值存在于第一句或是第二句,它就會(huì)被選出),而 INTERSECT 則比較像 AND ( 這個(gè)值要存在于第一句和第二句才會(huì)被選出)。 UNION 是聯(lián)集,而 INTERSECT 是交集 MINUS 指令是運(yùn)用在兩個(gè) SQL 語句上。它先找出第一個(gè) SQL 語句所產(chǎn)生的結(jié)果,然后看這些結(jié)果有沒有在第二個(gè) SQL 語句的結(jié)果中。如果有的話,那這一筆資料就被去除,而不會(huì)在最后的結(jié)果中出現(xiàn)。如果第二個(gè) SQL 語句所產(chǎn)生的結(jié)果并沒有存在于第一個(gè) SQL 語句所產(chǎn)生的結(jié)果內(nèi),那這筆資料就被拋棄。
而我們要找出哪幾天有店面交易和網(wǎng)絡(luò)交易。要達(dá)到這個(gè)目的,我們用以下的 SQL 語句: 假設(shè)我們有以下的兩個(gè)表格,
SELECT Date FROM Store_Information 結(jié)果:
請(qǐng)注意,在 INTERSECT 指令下,不同的值只會(huì)被列出一次。
而我們要知道有哪幾天是有店面營(yíng)業(yè)額而沒有網(wǎng)絡(luò)營(yíng)業(yè)額的。要達(dá)到這個(gè)目的,我們用以下的 SQL 語句: SELECT Date FROM Store_Information 結(jié)果:
有的時(shí)候,我們有需要將由不同欄位獲得的資料串連在一起。每一種資料庫都有提供方法來達(dá)到這個(gè)目的:
CONCAT() 的語法如下: CONCAT(字串1, 字串2, 字串3, ...): 將字串1、字串2、字串3,等字串連在一起。請(qǐng)注意,Oracle的CONCAT()只允許兩個(gè)參數(shù);換言之,一次只能將兩個(gè)字串串連起來。不過,在Oracle中,我們可以用'||'來一次串連多個(gè)字串。 來看幾個(gè)例子。假設(shè)我們有以下的表格: Geography 表格
例子1: MySQL/Oracle: 結(jié)果: 'EastBoston' 例子2: Oracle: 結(jié)果: 'East Boston' 例子3: SQL Server: 結(jié)果: 'East Boston'
SQL 中的 substring 函數(shù)是用來抓出一個(gè)欄位資料中的其中一部分。這個(gè)函數(shù)的名稱在不同的資料庫中不完全一樣:
最常用到的方式如下 (在這里我們用SUBSTR()為例): SUBSTR(str,pos): 由<str>中,選出所有從第<pos>位置開始的字元。請(qǐng)注意,這個(gè)語法不適用于SQL Server上。 SUBSTR(str,pos,len): 由<str>中的第<pos>位置開始,選出接下去的<len>個(gè)字元。 假設(shè)我們有以下的表格: Geography 表格
例1: SELECT SUBSTR(store_name, 3) 結(jié)果: 's Angeles' 例2: SELECT SUBSTR(store_name,2,4) 結(jié)果: 'an D'
LIKE 是另一個(gè)在 WHERE 子句中會(huì)用到的指令。基本上,LIKE 能讓我們依據(jù)一個(gè)套式 (pattern) 來找出我們要的資料。相對(duì)來說,在運(yùn)用 IN 的時(shí)候,我們完全地知道我們需要的條件;在運(yùn)用 BETWEEN 的時(shí)候,我們則是列出一個(gè)范圍。 LIKE 的語法如下: SELECT "欄位名" {套式} 經(jīng)常包括野卡 (wildcard). 以下是幾個(gè)例子:
我們將以上最后一個(gè)例子用在我們的 Store_Information 表格上: Store_Information 表格
我們就打入, SELECT *
|
|
|