LoginSignup
0
0

More than 5 years have passed since last update.

見たことなかったSQLコマンドを調べてみた。

Posted at

え?なにこの書き方は??

今までただSELECTしてFROMし
WHEREしてORDERしてきた僕にとって
SQLとはこの4つで成り立っていると思っていました。

けど他人のコードを見てみると、結構色んな文があるみたい。
ちょっと調べてみました。

INTERVAL

CURRENT_TIMESTAMPと組み合わせて現在から見た過去と未来を指す事が出来るみたい。

--現在から3日前
SELECT * FROM table WHERE time > CURRENT_TIMESTAMP - INTERVAL 3 DAY

--現在から200秒後
SELECT * FROM table WHERE time > CURRENT_TIMESTAMP - INTERVAL 200 SECOND

UNION

複数のクエリの結果をあわせて出力出来るみたい。
でも合わせる結果のカラムとデータ型があってないとエラーが出てしまう。

SELECT id,name FROM men_table WHERE age < 35
UNION
SELECT id,name FROM woman_table WHERE age < 25

COUNT

クエリの結果を数える事が出来るみたい。
後述のGROUP BYと合わせて使うと幅が広がる。

--tableのレコード数を数える
SELECT COUNT(*) FROM table 

--tableのidがnullではないレコードを数える
SELECT COUNT(id) FROM table

GROUP BY

上記のCOUNTと合わせて、セルの内容でカウント出来る。

SELECT age,COUNT(age) FROM table GROUP BY age

編集後記

入社19日目
人のソースコードをみると発見があるので楽しいです。
そしてSQLは見た目に反して奥が深いですね~。
こんな珍しいコマンドあるよ!ってあったらコメントで教えてほしいです!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0