SQL - 並且與或者連接運算符

你好,未來的SQL大師們!歡迎來到我們關於SQL中的並且(AND)和或者(OR)運算符的課程。我很興奮能夠指導你們走過這個旅程,我保證,在這個教學結束時,你們將會像專業人士一樣使用這些運算符。那麼,我們來開始吧!

SQL - AND & OR

SQL 並且(AND)運算符

並且(AND)運算符就像邏輯運算符中的嚴格家長。只有當所有條件都滿足時,它才會返回真(true)。把它想像成一個挑剔的食客,只有當菜餚中的每一種食材都符合他們的口味時,他們才會享受這頓飯。

讓我們看一個簡單的例子:

SELECT * FROM Students
WHERE age > 18 AND grade = 'A';

這個查詢意味著:"展示所有年齡超過18歲並且成績為'A'的學生。" 這就像是在尋找完美的學生!

這裡有一個更複雜的例子:

SELECT product_name, price, stock_quantity
FROM Products
WHERE price < 50 AND stock_quantity > 100 AND category = 'Electronics';

這個查詢尋找的是價格親民且庫存充足的電子產品。這就像在商店裡尋找好交易!

多個並且(AND)運算符

你可以將多個並且(AND)運算符串聯起來,創造一個非常特定的過濾條件。這就像建造一個有許多層的三明治 - 每一層(條件)都需要存在,查詢才能返回結果。

SELECT * FROM Employees
WHERE department = 'Sales'
AND years_of_experience > 5
AND salary < 75000
AND performance_rating = 'Excellent';

這個查詢尋找的是有經驗、表現出色的銷售員,他們可能即將獲得加薪。這就像老闆在尋找升職的完美候選人!

並且(AND)與其他邏輯運算符結合

並且(AND)可以與其他運算符如或者(OR)和不是(NOT)結合,創造複雜的條件。讓我們看一個例子:

SELECT * FROM Cars
WHERE (make = 'Toyota' OR make = 'Honda')
AND year > 2015
AND (color = 'Red' OR color = 'Blue');

這個查詢尋找的是近年的Toyota或Honda汽車,它們要么是紅色,要么是藍色。這就像一個非常挑剔的汽車購買者!

並且(AND)與UPDATE語句

並且(AND)不僅用於SELECT語句。當你想要修改特定記錄時,它也非常有用於UPDATE語句:

UPDATE Products
SET price = price * 1.1
WHERE category = 'Electronics'
AND stock_quantity < 50
AND last_order_date < '2023-01-01';

這個查詢會提高庫存不足且最近未訂購的電子產品的價格。這就像商店經理根據需求調整價格!

SQL 或者(OR)運算符

如果並且(AND)是嚴格的家長,那麼或者(OR)就是寬厚的家長。當任何一個條件滿足時,它就返回真(true)。這就像一位美食評論家,如果餐中的一道菜很好,他就會感到滿意。

這裡有一個簡單的例子:

SELECT * FROM Customers
WHERE country = 'USA' OR country = 'Canada';

這個查詢檢索來自美國或加拿大的所有客戶。這比並且(AND)的範圍要廣。

多個或者(OR)運算符

與並且(AND)一樣,你可以串聯多個或者(OR)條件:

SELECT * FROM Books
WHERE genre = 'Science Fiction'
OR genre = 'Fantasy'
OR genre = 'Mystery'
OR author = 'Stephen King';

這個查詢尋找的是符合幾個熱門類型或特定作者的書籍。這就像在書店的"熱門選擇"區域瀏覽!

或者(OR)與並且(AND)運算符

結合使用或者(OR)和並且(AND)可以創造強大的查詢。記得使用括號正確地將條件分組:

SELECT * FROM Restaurants
WHERE (cuisine = 'Italian' OR cuisine = 'French')
AND price_range <= 3
AND rating >= 4;

這個查詢尋找的是評價高、價格合理的義大利或法國餐廳。這對於計劃一頓美好的晚餐來說非常完美!

或者(OR)與DELETE語句

或者(OR)也可以用於DELETE語句,以刪除符合多個條件的記錄:

DELETE FROM Inventory
WHERE (expiry_date < CURRENT_DATE)
OR (stock_quantity = 0 AND last_sold_date < DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH));

這個查詢會刪除過期或已經缺貨超過六個月的商品。這就像商店經理清理庫存數據庫!

這裡是一個總結並且(AND)和或者(OR)運算符關鍵點的表格:

運算符 描述 使用案例 示例
並且(AND) 当所有條件都為真時返回真 縮小結果範圍 WHERE age > 18 AND grade = 'A'
或者(OR) 当任何條件為真時返回真 擴展搜索條件 WHERE country = 'USA' OR country = 'Canada'

記住,掌握這些運算符的關鍵在於練習。嘗試編寫你自己的查詢,嘗試不同的組合,很快你就能輕鬆地創造複雜的SQL語句!

我希望這個教學能夠為你照亮並且(AND)和或者(OR)運算符的世界。持續編程,持續學習,最重要的是,享受你的SQL旅程!

Credits: Image by storyset