SQL - 並且與或者連接運算符
你好,未來的SQL大師們!歡迎來到我們關於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