はじめに
- SQLの学習に着手したので、SELECTとWHEREを中心にまとめておく
- SQL入門1日目
SELECT
SELECT カラム1, カラム2, カラム3
FROM テーブル名
このようにして、テーブルからカラムを取得する
[カラムを計算する]
前提:gdp(国民総生産)とpopulation(人口)についてのカラムがある
①gdp/population(国民一人当たりの国内総生産)として取得できる
例
SELECT (gdp/population) FROM world
②数値で割ることも可能
例
SELECT population/1000000 FROM world
③端数を丸めることができる
ROUND(カラム/数値, 桁数)
例
SELECT ROUND(population/1000000,2) FROM world
意味:人口(100万人単位)を小数点以下2桁
SELECT文におけるWHERE
WHEREについていくつかまとめておく
[比較演算子]
SELECT カラム
FROM テーブル
WHERE 条件 = 1000
条件 = 数値
とすれば良い
意味
「=」両辺等しい
「<」右辺が大きい
「<=」右辺が大きいか両辺が等しい
「>」左辺が大きい
「>=」左辺が大きいか両辺が等しい
「<>」両辺が等しくない
[IN/NOT IN演算子]
SELECT カラム
FROM テーブル
WHERE カラム IN ( '値1', '値2', '値3')
指定のカラムの値が指定の値のいずれかと合致するレコードを抽出
NOT IN
の場合は、一致しないレコードを抽出
[LIKE文]
SELECT カラム
FROM テーブル
WHERE カラム LIKE ’%任意の文字列%’
任意の文字列を含むレコードの指定
[OR/AND]
SELECT カラム
FROM テーブル
WHERE 条件 OR 条件
SELECT カラム
FROM テーブル
WHERE 条件 AND 条件
排他的論理和も可能
前提:area(面積)とpopulation(人口)についてのカラムがある
例
SELECT カラム
FROM テーブル
WHERE (area >= 3000000 AND population < 250000000) OR (area < 3000000 AND population >= 250000000)
次のいずれかを満たす(*いずれかしか満たさない)
- 面積が3000000以上
- 人口が250000000以上
[LENGTH関数]
前提:first_nameとfamily_nameについてのカラムがある
SELECT カラム
FROM テーブル
WHERE LENGTH(first_name) = LENGTH(family_name)
文字数が同じレコードを抽出
最後に
⚠️学習4ヶ月目の初学者による投稿です。
⚠️間違いがあるかもしれません。ご容赦ください。
⚠️ご指導、ご教授いただけると幸いです。