1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SQL*plus SELECT文まとめ

Last updated at Posted at 2024-08-14

重複する値を除く

SELECT DISTINCT 列名
FROM 表名;

外部結合

emp表id列に一致するdpt表データが結合される

SELECT *
FROM emp e
LEFT JOIN dpt d
ON e.id=d.id;

集計関数の使用

・重複を含む数、NULLも含む

SELECT COUNT(*)
FROM 表名;

・重複含む、NULLは含まない

SELECT COUNT(列名)
FROM 表名;

・重複を除く数、NULLは含まない
(DISTINCT * はエラーになる)

SELECT COUNT(DISTINCT 列名)
FROM 表名;

GROUP BYが必須の条件

①集計列とそうでない列を同時に表示

集計列以外をGROUP BYに記述

SELECT dptno,job, MAX(sal)
FROM dpt
GROUP BY deptno,job;

②集計関数のネスト(3つ以上はエラー)

集計関数をネストするとき、同時に他の列を指定できない

SELECT MAX(AVG(sal))
FROM dpt
GROUP BY id;

ORDER BYのソート順

ASC(昇順)、DESC(降順)で指定
ORDER BYは列別名でも指定が可能

SELECT 列名1,列名2
FROM 表名
ORDER BY 列名1 ASC;

列番号でも指定できる

この場合列名1は昇順、列名2のみ降順になる
・明示しないと昇順になり
・指定は直前の列のみに反映される

SELECT 列名1,列名2
FROM 表名
ORDER BY 列名1,列名2 DESC;

昇順のとき

・数値:小→大
・文字列:小→大
・日付:古→新

・NULL:もっとも大きい値として扱われ、
 昇順のとき一番うしろになる

・NULLを先頭に指定:NULLS FIRST
・NULLを最後に指定:NULLS LAST

列別名の指定

漢字、ひらがな、カタカナ、アルファベット、$_#は
"ダブルクォーテーションで囲まなくても指定できる

アルファベットはデフォルトで全て大文字になる
大文字小文字を区別するときは"Sal"のように囲む必要がある

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?