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を返します。これは、 mealの中でただ一つの料理が良ければ満足する料理評論家を思い浮かべてください。
簡単な例を見てみましょう:
SELECT * FROM Customers
WHERE country = 'USA' OR country = 'Canada';
このクエリは、アメリカまたはカナダのすべての顧客を取得します。これはANDよりも広範なネットを castsします。
複数の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));
このクエリは、期限切れまたは6ヶ月以上在庫切れのアイテムを削除します。これは、在庫データベースを整理する店のマネージャーのようなものです!
以下は、ANDおよびOR演算子の主要なポイントをまとめた表です:
演算子 | 説明 | 使用例 | 例 |
---|---|---|---|
AND | すべての条件がtrueのときにtrueを返す | 結果を絞り込む | WHERE age > 18 AND grade = 'A' |
OR | いずれかの条件がtrueのときにtrueを返す | 検索基準を拡げる | WHERE country = 'USA' OR country = 'Canada' |
これらの演算子をマスターする鍵は練習です。自分自身でクエリを書いて、さまざまな組み合わせを試してみると、すぐに複雑なSQLステートメントを簡単に作成できるようになります!
このチュートリアルがANDおよびOR演算子の世界を明らかにしてくれたことを願っています。codingを続け、学び続け、そして最も重要なこととして、SQLの旅を楽しんでください!
Credits: Image by storyset