こちらの記事について
「基本的なSQL文をざっと見たい!」または「SQLでこの動きをしたいんだけどなんだったっけ?」という方向けです。
このは基礎的なSQL文をまとめています。
自己学習のアウトプットと誰かの役に立てればと思い書きました。
⚠️こちらの記事につきまして初心者が書いたものになります。表現が間違っていることがございます、ご了承ください。
まずSQL文とは
SQL文とはRDBMS(リレーショナルデータベース管理システム)を操作するための言語になります。
まずRDBMSってなんだよ(´Д`;)/
RDBMSでは今回深くは追求しませんがイメージしやすいのはエクセルのような縦、横とマスがあり縦にそれぞれの種類、横にそれぞれの種類にそったデータがどんどん入っていくイメージです。またデータベースの中にテーブルというものがありそちらに値が入るものになります。
下にテーブルのサンプルを用意しましたので参考までに!
データベース
下のテーブルはある飲食店のドリンクメニューをテーブルに起こしたものになります。
idカラム:それぞれのデータに番号を振っています。
name:商品名
price:値段
temp:hotかiceか
drinksテーブル
id | name | price | temp |
---|---|---|---|
1 | お茶 | 100 | ice |
2 | オレンジジュース | 200 | ice |
3 | ホットコーヒー | 300 | hot |
4 | アイスコーヒー | 300 | ice |
5 | 紅茶 | 300 | hot |
取得
・FROM
どこのテーブルから取得するかを指定する際に使用する。
・SELECT
どのカラムを取得するのかを指定する。
SELECT name, price
FROM drinks;
結果
name | price |
---|---|
お茶 | 100 |
オレンジジュース | 200 |
ホットコーヒー | 300 |
アイスコーヒー | 300 |
紅茶 | 300 |
・WHERE
テーブル内に入っている値を検索する際に使用する。
検索に使われるものとして比較演算子,LIKE演算子がある。
drinkesテーブルからname,priceカラムをとってくる。
SELECT name, price
FROM drinks
WHERE price=300;
結果
name | price |
---|---|
ホットコーヒー | 300 |
アイスコーヒー | 300 |
紅茶 | 300 |
drinkesテーブルからname,priceカラムをとってくる。
priceが300未満の時。
SELECT name, price
FROM drinks
WHERE price<300;
結果
name | price |
---|---|
お茶 | 100 |
オレンジジュース | 200 |
drinkesテーブルからname,priceカラムをとってくる。
条件としてnameが~コーヒーだったとき
⚠️「コーヒー」の時でも含まれます。
SELECT name, price
FROM drinks
WHERE name LIKE '%コーヒー';
結果
name | price |
---|---|
ホットコーヒー | 300 |
アイスコーヒー | 300 |
・AND演算子
条件式にて条件をもっと絞り込みたいと思った時これを使うべき!
drinkesテーブルからname,priceカラムをとってくる。条件としてpriceが300の時かつtemoがhotの時。
SELECT name, price
FROM drinks
WHERE price=300 AND temp="hot";
結果
name | price |
---|---|
ホットコーヒー | 300 |
紅茶 | 300 |
・OR演算子
AND演算子では全ての条件が当てはまらなければ処理が実行されないがOR演算子の場合ではどれか一つの条件が当てはめまれば処理が実行される
drinkesテーブルからname,priceカラムをとってくる。条件としてpriceが300の時またはtemoがhotの時。
SELECT name, price
FROM drinks
WHERE price=300 OR temp="hot";
結果
name | price |
---|---|
ホットコーヒー | 300 |
アイスコーヒー | 300 |
紅茶 | 300 |
・ORDER BY
さてテーブルからデータを取得しくる際に並び順を変えたいと思ったことはないでしょうか?
その際に使うのが*ORDER BYです。
こちらはカラムを昇順/降順と並び替えてくれる代物です。
ちなみに昇順の場合はASC、降順はDESCで指定ができる。(何も指定をしていなかったらデフォルトの昇順になる)
SELECT *
FROM drinks
ORDER BY price DESC;
※ SELECTの後ろに記述のある「*」は全てのカラムという意味です。
結果
id | name | price | temp |
---|---|---|---|
3 | ホットコーヒー | 300 | hot |
4 | アイスコーヒー | 300 | ice |
5 | 紅茶 | 300 | hot |
2 | オレンジジュース | 200 | ice |
1 | お茶 | 100 | ice |
・LIMIT
テーブルから取得する際にどのくらいの数のレコードを取得するかを指定する際に使用するものになります。
SELECT *
FROM drinks
LIMIT 3;
id | name | price | temp |
---|---|---|---|
1 | お茶 | 100 | ice |
2 | オレンジジュース | 200 | ice |
3 | ホットコーヒー | 300 | hot |