みんなの為のMySQLまとめ(6)
参考
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_11.htm
■抽出問い合わせ(抽出条件、条件抽出)
・単純な抽出条件は次のように指定する。
この例では、key1 が「a001」のものだけが問い合わされる。
・この例では、key1 が「a001」以外のものだけが問い合わされる。
・この例では、data3 が NULL のものだけが問い合わされる。
(空列検索、NULL 列検索、NULL 検索、NULL 抽出)
select * from testm
where data3 is null
order by key1
;
・この例では、data3 が NULL でないものだけが問い合わされる。
(NULL 以外)
select * from testm
where not data3 is null
order by key1
;
・範囲抽出条件は次のように指定する。
この例では、key1 が「a000」~「a999」の範囲が問い合わされる。
select * from testm
where key1 >= 'a000' and key1 <= 'a999'
order by key1
;
・SQL 関数を用いての抽出条件は次のように指定する。
この例では、key1 が「a」で始まるものが問い合わされる。
select * from testm
where substring(key1, 1, 1) = 'a'
order by key1
;
・substring() を使うより、マッチパターンの like を使う方が便利である。
この例では、key1 が「a」で始まるものが問い合わされる。
select * from testm
where key1 like 'a%'
order by key1
;
・like では、ワイルドカードの「%」と一文字マッチ用の「_」が使える。
この例では、key1 が先頭はなんでもよいが、それ以降が「001」のものが問
い合わされる。しかし、最後に「%」がないと抽出されない。
・between では、値の範囲を指定できる。
この例では、data3 が 10 ~ 100 のものが問い合わされる。
select * from testm
where data3 between 10 and 100
order by key1
;
・and では、条件を共に満たす抽出がてきる。
この例では、data1 と data2 が 10 より上のものだけが問い合わされる。
select * from testm
where data1 > 10 and data2 > 10
order by key1
;
・or では、各条件を満たす抽出がてきる。
この例では、data1 か data2 のどちらが 10 より上のものが問い合わさ
れる。
select * from testm
where data1 > 10 or data2 > 10
order by key1
;
・and と or の組み合わせは、優先順位を () で必ず指定するようにする。
この例では、data1 か data2 のどちらが 10 より上のもので、key1 の先頭
が「c」で始まるものだけが問い合わされる。
select * from testm
where (data1 > 10 or data2 > 10) and key1 like 'c%'
order by key1
;
■ソート(並べ換え、並べ替え)
・order by 句でソート順が指定できる。
この例では、key1 の昇順に問い合わされる。
・desc を指定すると降順になる。
この例では、key1 の降順に問い合わされる。
select * from testm
order by key1 desc
;
・ソートオーダは複数項目指定できる。
この例では、data1 の大きい順で key1 の昇順に問い合わされる。
Author And Source
この問題について(みんなの為のMySQLまとめ(6)), 我々は、より多くの情報をここで見つけました https://qiita.com/Taku94/items/9563525e930c067c64f6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .