MySQL必須-6フィルタデータ

14404 ワード

where句を使用して検索条件を指定します.検索条件はフィルタ条件とも呼ばれます.SELECT prod_name, prod_price FROM products WHERE prod_price = 2.5;
WHERE句の位置は、ORDER BYとWHERE句を併用する場合は、ORDER BYをWHEREの後に置くべきです.
WHERE句のオペレータ
=等しい
<>等しくない
!= 等しくない
未満
<=以下
>より大きい
>=以上
BETWEEN指定された2つの値の間SELECT prod_name, prod_price FROM products WHERE prod_name = 'fuses';
単一引用符は文字列を定義するために使用され、値を列タイプと比較する場合は、数値列と比較するために引用符を定義する必要があります.SELECT prod_name, prod_price FROM products WHERE prod_price < 10;
範囲の値をチェックするには、BETWEENオペレータを使用します.指定した開始値と終了値を含むローエンド値とハイエンド値が必要です.ANDキーを使用する必要があります.SELECT prod_name, prod_price FROM products WHERE prod_price BETWEEN 5 AND 10;
価格が5~10のすべての製品を検索
Null値チェック
1つのカラムにはNULLを含む値は含まれません.
NULLには値がありません.フィールドに0、空の文字列、またはスペースのみが含まれているのとは異なります.
WHERE句IS NULL句を使用したNull値のチェックSELECT prod_name FROM products WHERE prod_price IS NULL;
OR SELECT cust_id FROM customers WHERE cust_email IS NULL;
データベースは、一致するカラムにNULL値が含まれている場合は一致しない特定の値をフィルタします.NULL値を返すローにIS NULLを追加する必要がある場合は、NULL値を返します.SELECT * FROM customers WHERE cust_email LIKE '%@%' // cust_email @ OR cust_email IS NULL // ,cust_email NULL ;
WHERE句を組み合わせて、MySQLは複数のWHERE句を与えることを許可して、これらの句は2つの方式で使用することができます:ANDとORSELECT prod_id, prod_price, prod_name FROM products WHERE vend_id = 1003 AND prod_price <= 10;
仕入先1003を取得し、価格が10以下のすべての製品の名称と価格
ANDは、与えられたすべての条件を満たすことを示す.
ORは、少なくとも1つの条件(いずれかの条件)を満たすことを示す.SELECT prod_name, prod_price FROM products WHERE vend_id = 1002 OR vend_id = 1003;
仕入先1002または仕入先1003のすべての製品の名称および価格を取得する.
ANDとORオペレータを組み合わせて複雑で高度なフィルタリングを行うことは可能ですが、重要なことを覚えておく必要があります.ANDの優先度はORより高く、ANDとORが同時に現れるとANDの条件を優先的に処理するので、混同を避けるために()を使用してマッチング順序を確保することをお勧めします.SELECT prod_name, prod_price FROM products WHERE vend_id = 1002 OR vend_id = 1003 AND prod_price >= 10;
ANDの優先度がORより大きいため、
仕入先1003の製品、価格が10以上のもの
製品名と製品価格
または
仕入先1002のすべての製品の製品名と製品価格SELECT prod_name, prod_price FROM products WHERE (vend_id = 1002 OR vend_id = 1003) AND prod_price >= 10
仕入先1002または仕入先1003、価格が10以上の製品の
製品名と製品価格
INオペレータ
WEERE句のもう一つの用法では、IN操作は条件範囲を指定するために使用され、範囲内の各条件は一致することができ、合法的な値はカンマで区切られている.SELECT prod_name, prod_price FROM products WHERE vend_id IN (1002, 1003) ORDER BY prod_name;
INオペレータ機能OR相当
INオペレータは一般にORオペレータよりも高速に実行され、INの最大の利点は、WHERE句をより動的に確立できるように、他のSELECT文を含めることができることである.
NOTオペレータ
WHERE句のNOTオペレータは、それ以降の条件を否定します.SELECT prod_name, prod_price FROM products WHERE vend_id NOT IN (1002, 1003) ORDER BY prod_name;
仕入先1002と1003以外の製品名と製品価格を一致させる.
MySQLのみ
使用のサポート
NOT対IN,BETWEENとEXISTS句を逆にする