【文章內(nèi)容簡介】
York‘ AND type = ‘PC Manufacturer’。 46 DML基礎(chǔ) SELECT語句 OR條件 ? 用途 ? OR條件與 AND條件可同時與 WHERE從句一起使用,用于指定復(fù)雜條件,通常需用括號指明關(guān)系 。 ? 語法 ? SELECT columns FROM tables WHERE column1 = ‘value1‘ ORcolumn2 = ‘value2’ [ OR column3 = ‘value3’ ]。 ? 示例 ? SELECT * FROM suppliers WHERE city = ‘New York’ OR city = ‘Newark’。 47 DML基礎(chǔ) SELECT語句 OR/AND條件復(fù)合 ? 用途 ? OR條件與 AND條件可同時與 WHERE從句一起使用,用于指定復(fù)雜條件,通常需用括號指明關(guān)系 。 ? 語法 ? SELECT columns FROM tables WHERE column1 = ‘value1‘ OR/AND column2 = ‘value2’ [ OR/AND column3 = ‘value3’ ]。 ? 示例 ? SELECT * FROM suppliers WHERE (city = ‘Chicago’ AND name = ‘IBM’) OR (city = ‘Seattle’)。 48 DML基礎(chǔ) SELECT語句 IN 與 NOT IN ? 用途 ? IN用于多個 OR條件, NOT IN為 IN的相反 。 ? 語法 ? SELECT columns FROM tables WHERE column1 in (value1, value2, .... value_n)。 ? 示例 ? SELECT * FROM suppliers WHERE supplier_name IN ( 39。IBM39。, 39。Hewlett Packard39。, 39。Microsoft39。)。 與以下 SQL返回相同數(shù)據(jù): SELECT * FROM suppliers WHERE supplier_name = 39。IBM39。 OR supplier_name = 39。Hewlett Packard39。 OR supplier_name = 39。Microsoft39。 ? SELECT * FROM suppliers WHERE supplier_name NOT IN ( 39。IBM39。, 39。Hewlett Packard39。, 39。Microsoft39。)。 49 DML基礎(chǔ) SELECT語句 BETWEEN 與 NOT BETWEEN ? 用途 ? BETWEEN用于查詢一個范圍的數(shù)據(jù) 。 ? 語法 ? SELECT columns FROM tables WHERE column1 between value1 and value2。 ? 示例 ? SELECT * FROM suppliers WHERE supplier_id between 10000 AND 10002。 ? SELECT * FROM orders WHERE order_date between to_date (39。2023010139。, 39。yyyymmdd39。) AND to_date (39。2023123139。, 39。yyyymmdd39。)。 ? SELECT * FROM suppliers WHERE supplier_id NOT between 10001 AND 10002。 50 DML基礎(chǔ) SELECT語句 LIKE與 NOT LIKE ? 用途 ? LIKE用于模糊匹配查詢,結(jié)合 %與 _一起使用,其中 %匹配大于等于 1個字符, _只匹配一個字符 ? 使用 !%‘ escape ’! 或者 !_‘ escape ’! 轉(zhuǎn)義 % _。 ? 語法 ? SELECT columns FROM tables WHERE column1 like ‘%_value_%’。 ? 示例 ? 查詢名稱以 Hew開頭 (Hew前面沒有其他任何字符, Hew后面是任意字符或沒有字符 )的供應(yīng)商 Select * From suppliers Where supplier_name Like 39。Hew%39。 ? 查詢名稱包含 cro的供應(yīng)商 (名稱中 cro前后可能有任意字符,也可能沒有字符 ) Select * From suppliers Where supplier_name Like 39。%cro%39。 51 DML基礎(chǔ) SELECT語句 LIKE與 NOT LIKE ? 示例 ? 查詢名稱不是以 Hew開頭的供應(yīng)商 Select * From suppliers Where supplier_name NOT Like 39。Hew%39。 ? 查詢名稱為 Smith或 Smath或其他類似名稱的供應(yīng)商 (名稱中 m與 t之間有一個字符 ) Select * From suppliers Where supplier_name Like 39。%Sm_th%39。 ? 查詢名稱是以 H開頭, %結(jié)尾, H與 %之間有任意字符的供應(yīng)商,如 Hello% Select * From suppliers Where supplier_name Like 39。H%!%39。 escape 39。!39。 ? 查詢名稱是以 H開頭, _結(jié)尾, H與 _之間有任意字符的供應(yīng)商,如 Hello_ Select * From suppliers Where supplier_name Like 39。H%!_39。 escape 39。!39。 52 DML基礎(chǔ) SELECT語句 EXISTS 與 NOT EXISTS ? 用途 ? EXISTS 判斷子查詢是否有數(shù)據(jù)返回,有則為 TURE, 否則為FALSE, EXISTS也可用于 INSERT、 UPDATE、 DELETE。 ? 語法 ? SELECT columns FROM tables WHERE EXISTS ( subquery )。 ? 示例 ? SELECT * FROM suppliers sp WHERE EXISTS (select * from orders od where = )。 ? SELECT * FROM suppliers sp WHERE NOT EXISTS (select * from orders od where = )。 ? DELETE FROM suppliers sp WHERE EXISTS (select * from orders od where = )。 53 DML基礎(chǔ) SELECT語句 GROUP BY從句 ? 用途 ? GROUP BY用于將結(jié)果集按指定列分組,并進(jìn)行聚合 。 ? 語法 ? SELECT column1, column2, ... column_n, aggregate_function (expression) FROM tables WHERE predicates GROUP BY column1, column2, ... column_n。 aggregate_function 是匯聚函數(shù),通常為 SUM, COUNT, MIN, MAX ? 示例 ? 查詢每個部門及部門總工資 54 DML基礎(chǔ) SELECT語句 GROUP BY從句 ? 示例 ? 查詢部門及其員工個數(shù) ? 查詢部門及其最低員工工資 ? 查詢部門及其最高員工工資 55 DML基礎(chǔ) SELECT語句 HAVING從句 ? 用途 ? HAVING從句與 GROUP BY從句一起使用,用于聚合條件的判斷,如 COUNT(*)1,因聚合條件不能在 WHERE指明 。 ? 語法 ? SELECT column1, column2, ... column_n, aggregate_function (expression) FROM tables WHERE predicates GROUP BY column1, column2, ... column_n。 HAVING a