資料查詢語言:
DQL(Data Query Language) 的指令及附帶指令是負責進行資料查詢,不會對資料本身或資料表結構進行修改的。查詢是利
用來資料表中的欄位關係搜尋資料, 查詢結果則依據查詢條件中要求的欄位顯示。DQL的指令其實只有一個:
SELECT ,附帶的輔助指令包括:FROM,WHERE,GROUP BY,ORDER BY...等。
DQL只能查詢資料,不會更動任何資料。DQL其實就是「SELECT」開頭的所有命令組合,可以直接和「SELECT畫上等號。
SELECT
SELECT 是資料庫實作中是最常用到的 SQL 語句,主要是用來從資料庫取得資料,這個動作我們通常稱之為查詢 (query),資料庫依 SELECT 查詢的要求會返回一個結果資料表 (result table),我們通常稱之為資料集 (result-set)。SELECT 1+1, 3*6+4
SELECT 指令通常要搭配下面介紹的相關「DQL」指令才能有效運用,通常不會像範例中直接單獨使用。
FROM
SELECT 查詢語句接上 「FROM」 指令確認查詢目標 「資料表」 ,可以將所有的資料都顯示出來。SELECT itemCode, Description FROM MRSBASE_A
SELECT * FROM MRSBASE_R
WHERE
SELECT 查詢語句使用 WHERE 關鍵字搭配運算子來過濾 「符合條件」 的資料,可以使每次查詢不一定都要將表格內的資料都全部顯示。在許多時候,我們會需要選擇性地顯示資料。 舉個例子做實驗,試著找到類別為「A」的資料。要做到這一點,我們就需要用到 WHERE 這個指令。這個指令的語法如下:SELECT itemCode, Description FROM MRSBASE_A WHERE itemKind = 'A'
AND
多個查詢條件時,可以使用 AND 指令同時下達多個條件。其中數值欄位可以使用「>」大於或「<」小於以及「=」等於的數學符號來做為條件。SELECT itemCode, Description, Price FROM MRSBASE_A WHERE itemKind = 'A' AND Price >= 1000
SELECT itemCode, Description, Price FROM MRSBASE_A WHERE itemKind != 'A' AND Price <=1000
查詢條件中的 「文字」 需要用引號或雙引號「'字串', "字串"」包住,否則會出現錯誤;另一方面,對於數值型別則不可以加上引號,否則也會出現錯誤。
LIKE
LIKE 指令搭配 WHERE 條件「模糊搜尋」資料表中的特定資料,前後「%」代表模糊字串。SELECT itemCode, Description, Price FROM MRSBASE_A WHERE Description LIKE '%工程%'
SELECT itemCode, Description, Price FROM MRSBASE_A WHERE Description LIKE '%工%'
ORDER BY
查詢結果排序,正向由小到大。SELECT itemCode, Description, Price FROM MRSBASE_A WHERE itemKind = 'A' AND Price >= 1000 ORDER BY Price
SELECT itemCode, Description, Price FROM MRSBASE_A WHERE itemKind = 'A' AND Price >= 1000 ORDER BY Price DESC
指令 | 說明 |
---|---|
SELECT | DQL使用前的聲明 |
FROM | 指定查詢資料表 |
WHERE | 聲明有過濾條件 |
AND | 增加過濾條件 |
LIKE | 模糊搜尋 |
ORDER BY | 排序 |
DQL中還有許多的進階用法,隨手查閱一些網站或書籍都能得到所有指令的列表。為了持續學習的興趣,讓剩下的複雜指令在實作中或進階的課程中再做介紹。
沒有留言:
張貼留言