【SQL】UNIONについて
こんにちは。駆け出しエンジニアの竹前です。ここでは、SQLのUNION演算子について説明します。SQLについて勉強している方の参考になれば幸いです。UNIONとはUNION演算子は、複数のテーブルのデータを合わせて表示する場合に使います。複数のテーブルのデータを表示する場合、通常のSELECT文では、表示するテーブルの分だけ実行する必要があり、実行結果はテーブルごとに表示されます。UNIONでSE
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
こんにちは。駆け出しプログラマーの松下です!
SQLで順番をかえる際に用いるORDER BY句について説明します。
SQLについて学び始めたばかりという方の参考になれば幸いです。
例ではMicrosoft SQL Serverを使用し、あらかじめ作成した下記の"employees"テーブルからのデータ取得をします。
ORDER BYはSQLでソート順を指定するときに使います。
主にSELECT文などと組み合わせて検索したデータを並び替えます。
SELECT カラム名
FROM テーブル名
ORDER BY ソートするカラム名 ASCもしくはDESC;
ORDER BYの後ろに並び替えたい列名を指定し、昇順ならASC、降順ならDESCを記述します。
なお、デフォルトでは昇順となっているのでASCは省略可能です。
SELECT 社員番号,名前,年齢 FROM employees ORDER BY 社員番号 DESC;
SELECT 社員番号,名前,年齢 FROM employees ORDER BY 年齢;
前者では社員番号を指定してDESCなので、社員番号が大きい方から小さくなっていくように並び替わりました。
後者では年齢を指定しその後ろに記述がないので、デフォルトの昇順で若い方から順に並んでいます。
ORDER BYの後ろの要素は「,」(カンマ)で区切り複数指定することができます。
その場合、1つ目で指定された条件でソートし、同じ値のものが2つ目の条件で並び替えられます。
SELECT * FROM employees ORDER BY 年齢,給料 DESC;
上の例では、まず年齢の昇順でソートされ34歳が3人いるなかで、給料の降順で並び替えられてます。
SELECT * FROM employees ORDER BY 給料 DESC,年齢 ASC;
年齢が昇順で給料が降順という点では先ほどと同じですが、指定されている順番は給料が先になっています。
そのため先に給料の高い順で並び、360000で同じ2人の並びが年齢の昇順でソートされています。
条件を指定するWHEREも同時に指定できます。
同時に使用するときは先にWHERE句を書く必要があります。
SELECT 社員番号,名前,生年月日
FROM employees
WHERE 性別 = '男'
ORDER BY 生年月日 ASC;
SELECT *
FROM employees
WHERE 名前 LIKE '_藤%'
ORDER BY 年齢 DESC;
前者では性別が男のデータが取得され、生年月日の昇順で並び替えられてます。
後者ではLIKEで'_藤%'を指定したので、〇藤から始まる名前が年齢の降順で並んでいます。
SELECTに記述された順番の数字を、ORDER BYで指定することで列名を省略できます。
SELECT 社員番号,名前,年齢
FROM employees
ORDER BY 3 ASC,1 DESC;
上の例では社員番号が1、名前が2、年齢が3として使用できます。
3の年齢の昇順で並べ、同じ年齢の3人をさらに社員番号の降順で並び替えています。
関連記事:LIKE句について SELECT文について
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート