select句・とは?初心者でも分かるSQLの基本と使い方共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
select句・とは?初心者でも分かるSQLの基本と使い方共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


はじめに

「select句・とは?」という言葉を見たとき、初めて触れる人は「なんとなく難しそう」と感じるかもしれません。ここでは中学生でもわかるように、select句がどんな役割を担い、どう使えばよいのかを丁寧に解説します。

select句とは何か

SQLというデータベースを使うとき、テーブルにはたくさんの情報が入っています。select句は、その中から「どの情報を取り出すか」を決める部分です。簡単に言えば、データの「列」を指定する命令です。たとえば名前だけ、年齢だけ、あるいは名前と年齢を同時に取り出すことができます。

基本の書き方

基本は次の形です。SELECT 列名1、列名2 FROM テーブル名。

複数の列を取り出す例

例: SELECT name, age FROM students;

すべての列を取り出す例

例: SELECT * FROM students;

条件を付けて絞り込む前提

この段階ではまだ条件はありませんが、WHEREを使うと絞り込みができます。例: SELECT name, age FROM students WHERE age が 18 を超える。

実用的なコツ

エイリアスやDISTINCT、LIMITの使い方など、よく使う機能を紹介します。

エイリアスの使い方

長い列名を短くするには、AS で別名を付けます。例: SELECT name AS student_name FROM students;

よく使う派生機能

別名を付ける、重複を排除する DISTINCT、取得件数を制限する LIMIT など。これらを組み合わせると、必要なデータだけを、見やすく取得できます

実データを使った例

次の表はサンプルデータです。このデータを使って、SELECT句の動きを見てみましょう

idnameagescore
1太郎1582
2花子1691
3健太1476

この表を元に、実際のクエリを考えてみます。

例: SELECT name, score FROM students WHERE age が 16 以上。

この結果は、花子と健太の名前とスコアだけを取り出す、という意味になります

まとめ

今回は select句 が「何を取り出すか」を決める部分であること、基本的な書き方、複数列やすそ付きの条件の作り方、そしてエイリアスや DISTINCT、LIMIT の基本的な使い方を紹介しました。SQLの他の句と組み合わせると、データベースから欲しい情報を効率よく取得できるようになります。


select句の同意語

SELECT句
SQL文の中で、取得する列を指定する最も基本的な構成要素。クエリの“何を取り出すか”を決める部分です。
SELECT節
SELECT句と同義で、節という語を使う表現。
セレクト句
SELECTをカタカナ表記した呼び方の一つ。実務の資料やスライドで見かけることがあります。
セレクト節
セレクト句の別表現。言い換えとして使われます。
列選択句
取得したい列を選ぶ役割の句。列の選択を指す表現です。
列指定句
表示する列をどう指定するかを表す句。列の指定を明確化します。
列抽出句
データベースから特定の列を取り出すことを表す表現。
投影句
関係代数の“投影/射影”の意から、列の抽出を指す言い方。
射影句
投影と同義の語。列の抽出を意味します。
列投影句
列の投影(表示する列を選ぶこと)を指す表現。

select句の対義語・反対語

挿入 (INSERT)
データを新規にテーブルへ追加する操作。SELECT がデータを取り出して参照するのに対し、挿入は新しいデータを作成して保存します。
更新 (UPDATE)
既存データの値を変更する操作。参照しているデータを変更して、結果を上書きします。
削除 (DELETE)
データを削除する操作。参照しているデータを消去する点が反対です。
書き込み操作
データベースへ新しいデータを追加・変更・削除する総称。読み取りの SELECT に対する、データの“作る/変える/消す”という反対の動作群です。
DDL操作(ALTER/CREATE/DROP)
テーブルやデータベースの構造を変更する操作。SELECT がデータの参照を指すのに対し、構造変更はデータの扱い方や定義を変えます。

select句の共起語

FROM句
SELECT句で参照するデータの出所を指定する句。通常は結合先となるテーブルを指定します。
WHERE句
条件を指定して行を絞り込む句。比較演算子や論理演算子を組み合わせて使います。
JOIN
複数のテーブルを結合して1つの結果にする基本形。どのテーブルからデータを取り出すかを決めます。
INNER JOIN
2つのテーブルの結合条件が一致する行だけを取り出す内部結合です。
LEFT JOIN
左側のテーブルの全行を維持し、右側の一致する行を結びつける外部結合です。
RIGHT JOIN
右側のテーブルの全行を維持する外部結合です。
FULL JOIN
両方のテーブルの全行を結合し、結びつかない部分も含めます。
CROSS JOIN
2つのテーブルの全組み合わせを作る直積結合です。
ON
JOINの結合条件を指定するキーワードです。
GROUP BY句
集計の軸となる列を指定します。
HAVING句
GROUP BY後の条件を指定する句です。集計結果に対して絞り込みをします。
ORDER BY句
結果を並べ替える句。昇順(ASC)・降順(DESC)を指定します。
LIMIT句
取得する行数を制限します。
OFFSET句
結果の開始位置をスキップして取得します。
UNION
複数のSELECT結果を1つにまとめ、重複を除外します。
UNION ALL
複数のSELECT結果を1つにまとめ、重複を除外しません。
サブクエリ
SELECT文の中で別のSELECT文を使う手法です。
サブクエリ(ネスト)
別のクエリをさらに内側に組み込む形を指します。
CASE式
条件に応じて値を返す分岐処理です。
CASE WHEN
CASE式の具体的な分岐条件の書き方です。
集約関数
データを集計する関数群です。
COUNT
件数を数える集約関数です。
SUM
数値の合計を求める集約関数です。
AVG
数値の平均を求める集約関数です。
MIN
最小値を求める集約関数です。
MAX
最大値を求める集約関数です。
DISTINCT
重複を取り除き、一意な値だけを返します。
AS
列名や表名に別名をつけるときのキーワードです。
エイリアス
別名のこと。可読性を上げるために使います。
カラム/列
データの1列。SELECTで取得対象になる項目です。
テーブル
データを格納する箱。複数の列を持つデータの集合です。
データベース
データを保管・管理する組織化された集合体です。
SQL
データベースとやり取りするための言語。Structured Query Languageの略。
クエリ
データベースに対して行う質問のこと。SELECT文などを指します。
演算子
比較や論理を表す記号です。例: =, <>, >, <, IN, EXISTS, LIKE など。
IN
指定した値の集合に含まれるかを判定します。
EXISTS
サブクエリの結果が存在するかどうかを判定します。
LIKE
文字列の部分一致を判定します。
BETWEEN
値が指定した範囲内かを判定します。
NULL
値が未設定・欠損の状態を表します。
IS NULL
値がNULLかどうかを判定します。
IS NOT NULL
値がNULLでないかどうかを判定します。
AND
複数条件を論理的に結ぶ接続詞です。
OR
複数条件のいずれかを満たす場合に真になります。
インデックス
データの検索を速くするためのデータ構造です。
実行計画
データベースがクエリをどう実行するかの計画を表します。
パフォーマンス
処理の速さ・効率性のこと。クエリの最適化と深く関係します。
DBMS
データベース管理システムの略。データベースを管理・運用するソフトウェアです。
MySQL
人気のあるオープンソースのDBMSの一つです。
PostgreSQL
高度な機能を持つオープンソースのDBMSです。
Oracle
大規模向けの商用DBMSの代表例です。
SQL Server
Microsoftが提供する商用DBMSです。
カラー関数
単一値を返す関数の総称です。

select句の関連用語

SELECT
データを取得する際の基本句。返したい列を指定し、結果の形を決定します。
FROM
データを取得する元のテーブルを指定します。複数テーブルを結合する場合はここで結合元を決めます。
WHERE
行を絞り込む条件を指定します。条件に合致する行だけが結果に含まれます。
SELECT list
取得する列名や式をカンマで列挙します。星印(asterisk)を使って全列を選ぶこともできます。
DISTINCT
重複する行を結果から取り除く指示。複数の列を組み合わせての重複も排除します。
ALL
デフォルト設定で、重複を排除せずすべての行を返します。
GROUP BY
集約関数を用いてデータをグループ化する列を指定します。
HAVING
GROUP BY後のグループに対して条件を設定します。
ORDER BY
結果セットの並び順を指定します。昇順(ASC)や降順(DESC)を指定できます。
LIMIT
返す行数の上限を設定します(主にMySQL, PostgreSQL, SQLiteで使用)。
OFFSET
結果の先頭から何件スキップするかを指定します。
FETCH FIRST ROWS ONLY
ORDER BYと一緒に使用して、先頭から一定行数だけを取得します(SQL標準の書き方の一部)。
JOIN
複数のテーブルを横に結びつけて、1つの結果に合成します。
INNER JOIN
両方のテーブルに共通するキーを持つ行のみを結合します。
LEFT JOIN
左側のテーブルの全行を保持し、結合対象がない場合はNULLを埋めます。
RIGHT JOIN
右側のテーブルの全行を保持します。
FULL JOIN
両方のテーブルの全行を結合し、対応する部分は結合条件、そうでなければNULL。
CROSS JOIN
全行のデカルト積を作成します。組み合わせの総数は左右の行数の積になります。
ON
結合条件を指定します。例えばON t1.id = t2.id のように書きます。
USING
結合する列名が同じ場合、その列名を自動的に結合条件として使います。
NATURAL JOIN
共通の列名を自動で使って結合します。
UNION
複数のSELECT結果を縦に結合します。重複はデフォルトで除外されます(UNION ALL も有り)。
UNION ALL
重複を排除せずに複数のSELECT結果を結合します。
INTERSECT
複数のSELECTが共通して返す行だけを取得します。
EXCEPT
最初のSELECTの行のうち、他のSELECTに含まれない行を取得します。
EXISTS
サブクエリが行を返すかどうかで真偽を判定します。
IN
指定したリスト内の値と一致する行を返します。
NOT IN
指定したリスト内の値と一致しない行を返します。
BETWEEN
値が指定した範囲内かを判定します。
LIKE
文字列のパターンマッチを行います。%や_をワイルドカードとして使えます。
ILIKE
大文字小文字を区別せずにLIKEを行います(主に PostgreSQL)
CAST
データ型を別の型へ変換します。
CONVERT
データ型変換の別表現。データベースによって構文が異なります。
COALESCE
NULLを含む値のうち、最初の非NULL値を返します。
NULLIF
2つの値が同じならNULLを返し、違えばその値を返します。
CASE
条件に応じて異なる値を返す分岐処理を記述します。
AGGREGATE FUNCTIONS
集約関数。例: COUNT, SUM, AVG, MIN, MAX。
ROW_NUMBER
ウィンドウ関数の一つ。結果セット内の行に順序番号を割り当てます。
RANK
同値行にも連番を割り当て、等しい場合は同じ順位を与えます。
DENSE_RANK
同値行にも連続的な順位を付与します(ギャップなし)。
NTILE
ウィンドウ関数で、行を等分して順位を割り当てます。
OVER
ウィンドウ関数を適用する枠組みを指定します。
PARTITION BY
ウィンドウ内のデータを分割して、各区分ごとに集計します。
WINDOW ORDER BY
ウィンドウ内の順序付けを指定します(OVER 句内の ORDER BY)。
VIEW
名前付きクエリの再利用を可能にする仮想表。SELECTだけでなく定義も含みます。
MATERIALIZED VIEW
結果を物理的に保存して高速化するビューの一種。
Derived table
FROM 句内のサブクエリを仮想テーブルとして扱います。
EXPLAIN
クエリの実行計画を表示し、性能の最適化に役立てます。

select句のおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
14082viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
1934viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
839viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
579viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
566viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
527viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
524viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
456viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
439viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
421viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
363viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
344viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
338viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
317viws
select句・とは?初心者でも分かるSQLの基本と使い方共起語・同意語・対義語も併せて解説!
300viws
ダイレクトチャットとは?初心者向けガイドで使い方と注意点を徹底解説共起語・同意語・対義語も併せて解説!
295viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
294viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
291viws
解像度スケールとは?初心者でも分かる解像度スケールの基礎と使い方共起語・同意語・対義語も併せて解説!
271viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
232viws

新着記事

インターネット・コンピュータの関連記事