記事内に広告が含まれています。

【Oracle】SELECT文の基本

OracleにおけるSELECT文の基本的な使い方です。

【スポンサーリンク】

基本的なSELECT文

SELECT文はテーブルからデータを取得するための基本的なSQLです。テーブルからデータを取得することを「選択」「射影」と言います。

「選択」や「射影」は資格試験で出題されますが、初心者の方は特に意味を理解していなくても大丈夫です。気になったら調べて下さい。

難しいことは今は置いておいて、SELECTの基本的な構文は以下の様に記述します。

SELECT
 列名のリスト
FROM
 テーブル名;

基本構文は上記なのですが、もう少し具体的に書くと、以下の様に記述します。

SELECT
  列1
 ,列2
 ,列3
 …
FROM
 テーブル名;

SELECT句で取得したい列(カラム)をカンマ区切りで並べます。FROM句には取得したいテーブル名を記述します。テーブルの全ての列の情報を取得したい場合は、次の様に記述します。

SELECT * FROM テーブル名;

SELECT句に列を記述する代わりに「*」(アスタリスク)を記述することで、テーブルの全ての列を取得できます。

【スポンサーリンク】

使用例

では、実際に使用してみましょう。SQL確認用のテーブルを用意しました。山手線の駅番号(STATION_NO)、駅名称(STATION_NAME)、駅名カナ(STATION_KANA)の情報を持つテーブルです。このテーブルに対してSELECTを実行してみます。

f:id:neko_britannia:20200722213830j:plain

全てのカラムを指定してみます。

SELECT
  STATION_NO
 ,STATION_NAME
 ,STATION_KANA
FROM
 TAB_YAMANOTE_STATION;

ちゃんと出てきましたね。

f:id:neko_britannia:20200722215705j:plain

例えば、「駅番号と駅名だけ出したい」という場合は、次の様に列名を指定します。

SELECT
  STATION_NO
 ,STATION_NAME
FROM
 TAB_YAMANOTE_STATION;

SELECT句の列名を駅番号(STATION_NO)と駅名称(STATION_NAME)だけに指定します。そして実行。

f:id:neko_britannia:20200722220038j:plain

実行すると、駅番号と駅名称だけ取得できましたね。

【スポンサーリンク】

アスタリスクは使うべきか?

先ほど、

SELECT句に列を記述する代わりに「*」(アスタリスク)を記述することで、テーブルの全ての列を取得できます。

と述べましたが、個人的にはアスタリスクの使用は控えた方が良い認識です。速度的な問題についてはインターネット上で議論されていますが、個人的には可読性が落ちるのでアスタリスクの使用は控えています。

自分で作成したSQLを久しぶりに見返した時に、「あれ?なんだっけこれ?」となってしまうからです。自分で作成したSQLでさえそういう状態なので、当然、他の人が作成したSQLを見た時にアスタリスクが混じっているだけで解読に時間がかかるという経験は何度もしてきました。私に対して「あんたのスキルが足りてない」と言われたらそれまでですが。

【スポンサーリンク】

関連記事

【DB基礎】DML(データ操作言語)とは?
データベースを扱うにはSQLが必要です。SQLはデータベースに対して命令を行い、データベースを操作・定義・制御を行います。一般的には大きく3つに分類されます。 データ操作言語(DML…Data Manipulation Language)←...
【Oracle】SELECT文で検索条件を指定する
OracleのSELECT文で検索条件を指定する方法です。
【スポンサーリンク】

鉄道記事も書いてます!

ちょっとリフレッシュして鉄道記事も読んでみませんか?

鉄道記事バックナンバーはこちら↓

鉄道コム投稿記事一覧ページ