【SQL】UNIONについて
こんにちは。駆け出しエンジニアの竹前です。ここでは、SQLのUNION演算子について説明します。SQLについて勉強している方の参考になれば幸いです。UNIONとはUNION演算子は、複数のテーブルのデータを合わせて表示する場合に使います。複数のテーブルのデータを表示する場合、通常のSELECT文では、表示するテーブルの分だけ実行する必要があり、実行結果はテーブルごとに表示されます。UNIONでSE
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
こんにちは。駆け出しプログラマーの松下です!
SQL命令文の中で最も使用頻度が高い、SELECT文の使い方を説明します。
SQLについて学び始めたばかりという方の参考になれば幸いです。
例ではMicrosoft SQL Serverを使用し、あらかじめ作成した下記の'employees'テーブルからのデータ取得をします。
データベースからデータを取得する際に使うSQL命令文がSELECT文です。
数多くのキーワードが用意されている重要な命令文です。
基本的なSELECT文の書き方
SELECT カラム名
FROM テーブル名
WHERE 抽出条件
SELECTの後ろに取得したい列の名前を書きます。そしてFROMの後ろには対象のテーブルの名前を書きます。
さらに情報を絞り込んで取得したい場合は、WHEREの後ろに条件を指定します。
まずはテーブルから全ての列を取得してみます。
SELECT *
FROM employees
全ての列を取得する場合はカラム名の部分に「*」を指定します。
特に抽出の条件がないときはWHEREは不要です。
それぞれの単語の間は半角スペースを入れることにも気をつけましょう。
テーブルのデータが全て表示されました。
指定するカラムが複数あるときは「,」(カンマ)で区切ります。
社員番号、名前、給料、年齢を取得してみます。
SELECT 社員番号,名前,給料,年齢
FROM employees
全ての列を取得したときと違い、性別や生年月日は表示されていません。
また、年齢の表示されている順番が給料より後になっています。
このように列の名前は、SELECT句に記述した順番通りに取得されます。
表示の数が多いほど処理の負荷が高くなるので、取得したい列名だけ記述するのが良いでしょう。
◆WHERE句
WHEREの後ろに、列と演算子や関数などを使って表した条件式を記すことで、条件にマッチしたデータのみを取得します。
例えば今回使っているテーブルでは、ある年齢以下の社員データや年収が一定以上の社員データだけを抽出して表示したいときなどに活用できます。
SELECT *
FROM employees
WHERE 性別 = '男'
性別が男の社員のデータのみが表示されています。
◆列を作る
SELECT句に記述する列は、テーブルに存在する列だけでなく自分で勝手に作ることも可能です。
SELECT 社員番号,名前,'こんにちは',年齢
FROM employees
SELECT句のカラム名の後ろに「AS 項目名」と書き加えることで、元々のデータの列名ではない別名で表示することができます。
元々の列名を分かりやすく表示したり、テーブルに存在しない列を作ったときに列名をつけるために活用できます。
SELECT 社員番号 AS id
,名前 AS name
,給料
,年齢 AS age
FROM employees
給料以外の列名は、ASで指定したので変わっています。
SELECT句のなかで四則演算ができます。
SELECT 社員番号
,名前
,年齢 + 10
,給料
,給料 * 12 AS 年収
FROM employees
全員10歳加算された年齢が表示されています。
また給料を12倍した数字の列が作られ、AS句で「年収」と列名を定めています。
SELECT句において、「+」を使うことで文字をつなぎ合わせることも可能です。
SELECT 社員番号
,名前 + '様'
,年齢
,給料
FROM employees
名前の後ろに様という文字が連結しています。
SELECT TOPの後ろに取得したい件数を記すことで、上位から指定された数だけのデータが取得されます。
SELECT TOP 3 社員番号
,名前
,年齢
,給料
FROM employees
テーブルの上から3人のデータが表示されています。
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート