MySQL 速習チュートリアル

MySQL AND演算子

1. MySQL AND演算子とは

WHERE句には、1つまたは複数のAND演算子を含めることができます。

AND演算子は、複数の条件に基づいてレコードフィルタリングするために使用されます。

       ポイント: AND演算子は、指定されたすべての条件が TRUE(真)である場合にのみ、そのレコードを表示します。

以下のSQLは、「Customers」テーブルから、国(Country)が「UK」かつ都市(City)が「London」であるすべての顧客を選択します。

/* 国がUKで、なおかつ都市がLondonの顧客をすべて抽出 */
SELECT * FROM Customers
WHERE Country = 'UK' AND City = 'London';

2. AND演算子の構文

SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;

3. デモ用データベース

本チュートリアルでは、有名な Northwind サンプルデータベースを使用します。
以下は、「Customers」テーブルから抜粋したデータです。

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

4. AND と OR の違い

  • AND演算子:すべての条件がTRUEの場合にレコードを表示します。
  • OR演算子:条件のいずれかがTRUEの場合にレコードを表示します。

5. AND と OR の組み合わせ

AND演算子とOR演算子を組み合わせて使用することも可能です。

複雑な式を作成する場合は、括弧(丸括弧)を使用して条件の優先順位を明確にします。

以下のSQLは、「Customers」テーブルから、国が「Germany」であり、かつ都市が「Berlin」または「Stuttgart」であるすべての顧客を選択します。

/* 国がGermanyで、かつ都市がBerlinまたはStuttgartのレコードを抽出
   ( ) を使って条件のグループ化を行う */
SELECT * FROM Customers
WHERE Country = 'Germany' AND (City = 'Berlin' OR City = 'Stuttgart');