|
在本教程中將學(xué)習(xí)如何使用Oracle WHERE子句來(lái)指定過(guò)濾的條件返回符合查詢條件的行記錄。 Oracle WHERE子句簡(jiǎn)介 WHERE子句指定SELECT語(yǔ)句返回符合搜索條件的行記錄。下面說(shuō)明了WHERE子句的語(yǔ)法: SELECT column_1, column_2, ... FROM table_name WHERE search_condition ORDER BY column_1, column_2; WHERE子句出現(xiàn)在FROM子句之后但在ORDER BY子句之前。在WHERE關(guān)鍵字之后是search_condition - 它定義了返回行記錄必須滿足的條件。 除了SELECT語(yǔ)句之外,還可以使用DELETE或UPDATE語(yǔ)句中的WHERE子句來(lái)指定要更新或刪除的行記錄。 Oracle WHERE示例 請(qǐng)參閱示例數(shù)據(jù)庫(kù)中的以下產(chǎn)品(products)表,其表結(jié)構(gòu)如下 -
1. 通過(guò)使用簡(jiǎn)單的相等運(yùn)算符來(lái)查詢行記錄 以下示例僅返回名稱為“Kingston”的產(chǎn)品: SELECT product_name, description, list_price, category_id FROM products WHERE product_name = 'Kingston'; 執(zhí)行上面示例中的查詢語(yǔ)句,得到以下結(jié)果 -
在這個(gè)例子中,Oracle按以下順序評(píng)估子句:FROM WHERE和SELECT 首先,F(xiàn)ROM子句指定查詢數(shù)據(jù)的表。 其次,WHERE子句基于條件(例如product_name ='Kingston'過(guò)濾行記錄)。 第三,SELECT子句選擇了應(yīng)該返回的列。 2. 使用比較運(yùn)算符選擇行記錄 除了等于(=)運(yùn)算符之外,Oracle還提供了下表中所示的許多其他比較運(yùn)算符: 編號(hào) 運(yùn)算符 描述 1 = 等于 2 !=,<> 不等于 3 > 大于 4 < 小于 5 >= 大于或等于 6 <= 小于或等于 7 等于值列表中的任何值 8 將值與列表或子查詢進(jìn)行比較。它必須以另一個(gè)運(yùn)算符(例如:=,>, 9 不等于值列表中的任何值 10 [NOT] BETWEEN n AND m 相當(dāng)于[Not] >= n 且 <= y。 11 如果子查詢返回至少一行,則返回true 12 IS [NOT] NULL 測(cè)試NULL的值 例如,要獲取標(biāo)價(jià)大于500的產(chǎn)品,請(qǐng)使用以下語(yǔ)句: SELECT product_name, list_price FROM products WHERE list_price > 500; 執(zhí)行上面查詢語(yǔ)句,得到以下結(jié)果 -
3. 選擇符合某些條件的行 要組合條件,可以使用AND,OR和NOT邏輯運(yùn)算符。 例如,要獲取屬于類別編號(hào)是4且標(biāo)價(jià)大于500的所有主板,請(qǐng)使用以下語(yǔ)句: SELECT product_name, list_price FROM products WHERE list_price > 500 AND category_id = 4; 執(zhí)行上面示例代碼,得到以下結(jié)果 -
4. 選擇在兩個(gè)值之間的值的行記錄 要查找具有兩個(gè)值之間的值的行,請(qǐng)?jiān)赪HERE子句中使用BETWEEN運(yùn)算符。 例如,要獲取標(biāo)價(jià)在650到680之間(650 <= list_price <= 680)的產(chǎn)品,請(qǐng)使用以下語(yǔ)句: SELECT product_name, list_price FROM products WHERE list_price BETWEEN 650 AND 680 ORDER BY list_price; 執(zhí)行上面查詢語(yǔ)句,得到以下結(jié)果 -
請(qǐng)注意,以下表達(dá)式是等效的: SELECT product_name, list_price FROM products WHERE list_price >= 650 AND list_price <= 680 ORDER BY list_price; 5. 選擇符合值列表中的行記錄 要查詢值列表中的行記錄,可以使用IN運(yùn)算符,如下所示: SELECT product_name, category_id FROM products WHERE category_id IN(1, 4) ORDER BY product_name; 執(zhí)行上面查詢語(yǔ)句,得到以下結(jié)果 -
表達(dá)方式: category_id IN (1, 4) 等效于 - category_id = 1 OR category_id = 4 6. 選擇包含值的行作為字符串的一部分 以下語(yǔ)句檢索名稱以Asus開頭的產(chǎn)品: SELECT product_name, list_price FROM products WHERE product_name LIKE 'Asus%' ORDER BY list_price; 在這個(gè)例子中,我們使用LIKE運(yùn)算符來(lái)根據(jù)指定的模式來(lái)匹配行記錄。
在本教程中,您已學(xué)習(xí)如何使用Oracle WHERE子句為查詢返回指定搜索條件的數(shù)據(jù)記錄。 ¥ 我要打賞 糾錯(cuò)/補(bǔ)充 收藏 加QQ群啦,易百教程官方技術(shù)學(xué)習(xí)群 |
|
|