SELECT の出力列名の一覧
SELECT が返す列の名前を、書いた順に一覧で確かめる。
SELECT 文を貼り付けると、選択リストの各項目が返す出力列の名前を一覧にします。AS の別名・列名・関数名・自動の名前 ?column? を見分け、同名の列があれば知らせます。入力はブラウザの外へ送信しません。
SELECT 文を貼り付けて出力列の名前を調べる
入力した内容は送信されません。貼り付けた文字や選んだファイルは、お使いのブラウザの中だけで処理します。本サイトのサーバーや第三者へ送信・保存しません(通信を禁止する設定でページを配信しています)。
結果
エラー 0 件・警告 0 件・情報 1 件
指摘(エラー・警告・情報)
- 情報 全体 同名の出力列はありません。
| 出力列の数 | 3 列 |
|---|---|
| 同名の出力列の組 | 0 組 |
| 名前を判定できなかった列 | 0 列 |
出力列の一覧
| # | 式 | 出力列名 | 名前の決まり方 |
|---|---|---|---|
| 1 | u.id | id | 列参照なので、その列の名前 |
| 2 | u.name | user_name | AS の別名(引用符なしなので小文字にそろえる) |
| 3 | count(*) | count | 関数呼び出しなので、関数の名前 |
初期表示は入力例「列・AS の別名・関数が混ざった選択リスト」の結果です。入力を変えるとその場で処理し直します。判定の根拠は仕様と根拠にまとめています。
ご利用にあたって
- 結果は字句の読み取りにもとづく確認で、実際のデータベースでの解釈を保証するものではありません。
- ドキュメントは PostgreSQL License で公開されています。このサイトはその内容を要約して参照しており、転載はしていません。
使い方
- 調べたい SELECT 文をコピーして、入力欄に貼り付けます。
- 表で「式」と「出力列名」を見比べ、名前の決まり方の列で理由を確かめます。
- 同名の列の警告が出たら、AS で別の名前を付けて貼り直します。
入力例と結果
代表的な入力・境界の入力・壊れた入力の例です。例ごとに入力・出力・指摘と、その結果になる理由(検算)を載せています。
| 入力例 | 結果 |
|---|---|
| 列・AS の別名・関数が混ざった選択リスト | エラー 0 件・警告 0 件・情報 1 件 |
| 別の表の id を並べて同名になる例 | エラー 0 件・警告 1 件・情報 0 件 |
| 引用符の有無で変わる大文字小文字 | エラー 0 件・警告 0 件・情報 1 件 |
| 名前が自動で付く式 | エラー 0 件・警告 0 件・情報 3 件 |
| 閉じていない引用符 | エラー 1 件・警告 0 件・情報 0 件 |
このツールでできないこと(制約)
- 完全な SQL の構文解析はしません。サブクエリ・CTE(WITH 句)・UNION を含む問い合わせは、最初の SELECT の選択リストだけを調べるか、判定不能と表示します。
- * や t.* は表の定義で列が決まるため、展開後の列名は判定せず「全列」と表示します。
- 型変換の ::型 を含む式や、サブクエリを式に使った項目の出力名は判定不能と表示します。
- AS を省いた別名は、末尾の名前を別名と読む簡易な規則です。キーワードと同じ名前の別名は AS が必要になる点に注意してください。
よくある質問
AS を付けない関数の列は何という名前になりますか?
関数の名前になります。たとえば count(*) の列は count です(SELECT 文書「SELECT List」)。同じ関数を複数回使うと同名の列になるため、AS を付けるのが安全です。
?column? とは何ですか?
列の参照でも関数でもない式(足し算や定数など)に、PostgreSQL が自動で付ける名前です。結果を名前で参照したいときは AS で名前を付けます。
貼り付けた SQL はどこかに送られますか?
送られません。処理はお使いのブラウザの中だけで行い、ページは通信を禁止する設定(CSP の connect-src)で配信しています。