
ある人に、こんなSQLを教えてもらいました。
-----------------------------
select id,tid,NULL as "res_no",account_id,name,date
from t_game_bbs as a
union
select id,tid,res_no,account_id,name,date
from t_game_res as b where del_flg != 1';
order by date DESC limit 10;
--------------------------------
不思議に思ったのが、”NULL as "res_no"”のところです。
これについて、ググッて見たのですが、明確な説明が見つかりませんでした。
これって、SQLの隠し機能なのですか?
No.2
- 回答日時:
まず、SQL文でselect句にくるカラム名は「as 任意の名前」で別名をつけることができます。
ここで「NULL as "res_no"」と書いてある部分は
NULL(なにもない)を"res_no"という名前で取得する、という意味です。
また、このSQL文では、
2つのselect文の結果を「union」演算子で結合して、1つのまとまりにしています。
テーブルAからの検索結果
union(合わせる)
テーブルBからの検索結果
unionで結合する場合、
テーブルA、Bそれぞれから取得する項目数を合わせる必要があるのですが、
多分テーブルAには"res_no"というカラムが存在しないか、
もしくは取得するには不適切な値が入っているため、
数を合わせるためだけにNULL(なにもない状態)を取得するようにしているのだと思います。
参考URLはSELECT文についてです。
参考URL:http://cyberam.dip.jp/database/postgres/sql/sele …
”as "res_no"はわかるのですが、列名に”NULL”をダミーで指定できることをはじめて知りました。
本にも、Web上にも載っていないのです。
なので、私は、SQL職人の秘儀なのかと・・・。(・ω・;)
ありがとうございました。m(_。_)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- PostgreSQL SQLで検索結果の記事を表示したい 1 2022/04/28 21:03
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
このQ&Aを見た人はこんなQ&Aも見ています
-
テーブルに存在しない列をselect文で出力する事はできないでしょうか?
PostgreSQL
-
select文の実行結果に空白行を入れたい
MySQL
-
SELECT文で、指定カラム以外の全カラムを一括指定って可能でしょうか
MySQL
-
-
4
GROUP BYを行った後に結合したい。
Oracle
-
5
3つ以上のテーブルをUNIONするのは現時的でないでしょうか?
MySQL
-
6
テーブルからのselectにおいてデータの有無により結果をわけたい
PostgreSQL
-
7
SQL文のwhere条件文で使う <> の意味はなんですか
その他(データベース)
-
8
CASE文のエラーについて
Oracle
-
9
MAX関数を使ってからLEFT JOINしたいのですが・・
PHP
-
10
Eclipseで、プロジェクト名のところに赤いバッテンのエラーマークが
Java
-
11
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
12
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
13
Statement ignored というエラー
Oracle
-
14
IOException ってどういうときに起こるのでしょうか?
Java
-
15
引数によってwhere句を切り替える方法
Oracle
-
16
【PL/SQL】FROM区に変数を使う方法
Oracle
-
17
SQLでSUMなどの関数でデータが無い時に0を返したい。
Oracle
-
18
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
19
SIDとSERVICE_NAMEの違いとは?
Oracle
-
20
HTMLからフォルダを開きたい
HTML・CSS
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT 文の NULL列は?
-
SQLにて指定日付より前、かつ最...
-
単純なselectが遅くなるのです...
-
テーブルに存在しない列をselec...
-
PostgreSQL 8.0.2 の ERROR: r...
-
MS Access から PostgreSQL へ...
-
SQLでUPSERTを一度に複数行やる...
-
Postgresのデータ領域の拡張に...
-
VIEWのCOPYってできないんですか?
-
レコードを1件のみ取得した後...
-
DBFluteについて質問です。 環...
-
トリガープロシージャのNEW変数...
-
javaでデータベース上のテーブ...
-
テーブル定義書作成時のIndex付...
-
2つのテーブルで引き算 postgres
-
Postgresqlのレポート機能について
-
PostgreSQL8.3系のAutovacuum不...
-
「テーブルに座って……」という...
-
外部キーだけのテーブル(主キ...
-
一つ前に戻るには…
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文の NULL列は?
-
テーブルに存在しない列をselec...
-
SQLでUPSERTを一度に複数行やる...
-
SQLにて指定日付より前、かつ最...
-
単純なselectが遅くなるのです...
-
PostgreSQLの断片化の状況を確...
-
2つのテーブルで引き算 postgres
-
MS Access から PostgreSQL へ...
-
最新レコードを抽出し外部結合...
-
javaでデータベース上のテーブ...
-
Postgresqlのレポート機能について
-
デットロック回避策(autocommit...
-
PostgreSQL レコードからアイテ...
-
Postgresのデータ領域の拡張に...
-
重複を許すキーの構文がわかり...
-
PostgreSQLのリンクテーブル?...
-
異なるデータベースでのINSERT...
-
テーブルを作ろうとしたら。
-
同一カラムに複数条件指定
-
テーブルにcsvファイルをインポ...
おすすめ情報