BLOG

【プログラマー 研修 SQL】ことの記録8

こんにちは!ことです!

ラグビー日本代表すごいですね!
自分はラグビー全然詳しくないですが、
最近ラグビーの動画を見ています(笑)


さて、今日はSQLの課題の方を進めました。
内容は、

CASE
ORDER BY
LIMIT
DISTINCT
UNION


です。

CASE式


CASE式は単純CASE式と、検索CASE 式というものがあります。

単純CASE式はJavaのswitchと似ていて、

SELECT
 CASE カラム名 
 WHEN 比較値1 
  THEN 出力値1 
 WHEN 比較値2 
  THEN 出力値2 
 ・・・ ELSE 出力値3 
 END AS 別名 
FROM テーブル名 
;


[CASE カラム名]でカラムを指定して、
[WHEN 比較値]で比較値を補足し、
[THEN 出力値]で出力値を出力します。
[ELSE 出力値]でその他の場合出力値を出力します。
[END]で式を終了します。


また、検索CASE式の方は

SELECT 
 CASE 
 WHEN 条件式1
  THEN 出力値1
 WHEN 条件式2
  THEN 出力値2
 ・・・ 
 ELSE 出力値3 
 END AS 別名 
FROM テーブル名
;


[CASE]で、カラム名を指定せず
[WHEN 条件式]で条件式が真のときに、
[THEN 出力値]で出力値を出力します。
ELSE,ENDに関しては単純CASE式と同じです。

 

ORDER BY

ORDER BYはデータの並び替えをします。

SELECT 
 カラム名 
FROM
 テーブル名
ORDER BY
 カラム名 ASCまたはDESC
; 


ASCが昇順DESCが降順で、
この部分を書かない場合、自動でASCになります。

また、[LIMIT 出力数]をつけると出力する数を指定できます。

[DISTINCT カラム名]を使えば、重複を除くことができ、

[SELECT文1 UNION SELECT文2]で、二つのテーブルを縦に結合することができます。

今回はとても濃い内容でしたね(笑)

以上!ではまた!

BLOGトップへ戻る