
ある人に、こんな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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
構造が異なる二つのテーブルをunionで結ぶには?
MySQL
-
UNIONする際、片方テーブルしかないカラムも利用
MySQL
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
-
4
単一グループのグループ関数ではありません。
Oracle
-
5
データベースのINT型項目にNULLはNG?
MySQL
-
6
SQL文のwhere条件文で使う <> の意味はなんですか
その他(データベース)
-
7
SQLServerでNULLを挿入したいです
SQL Server
-
8
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
9
select文の実行結果に空白行を入れたい
MySQL
-
10
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
11
GROUP BYを行った後に結合したい。
Oracle
-
12
Unionの結果全体をOrder By したい。
SQL Server
-
13
アクセスVBAのMe!と[ ]
Access(アクセス)
-
14
SQL文で素早くNULLを除外する方法
SQL Server
-
15
SQLのVARCHARとVARCHAR2の違い
その他(データベース)
-
16
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
17
SELECTの結果で同一行を複数回出力する
Oracle
-
18
ウォッチ式の文字数制限について
Visual Basic(VBA)
-
19
一部のカラムでdistinctし全てのカラムを取得
MySQL
-
20
group byの並び順を変えるだけで結果が異なる
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLでUPSERTを一度に複数行やる...
-
javaでデータベース上のテーブ...
-
SELECT 文の NULL列は?
-
単純なselectが遅くなるのです...
-
「テーブルに座って……」という...
-
Accessのテーブルデータを一気...
-
お金持ちのテーブル
-
会社の飲み会の幹事になり、座...
-
Notion@リレーション値の取得...
-
CONNECT BYに関して
-
MySQL8にバージョンアップした...
-
飲み会で、座敷orテーブルどち...
-
オーダーの覚え方について
-
データベースを複数作ったほう...
-
update文で改行を入れる
-
【SQL】グループ化した際の最頻...
-
SQL 複数テーブルのupdate
-
モンスターハンター3rd テーブル
-
「クリップボードにコピーされ...
-
インポート禁止にしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文の NULL列は?
-
単純なselectが遅くなるのです...
-
PostgreSQLの断片化の状況を確...
-
SQLにて指定日付より前、かつ最...
-
SQLでUPSERTを一度に複数行やる...
-
Postgresのデータ領域の拡張に...
-
2つのテーブルで引き算 postgres
-
テーブルに存在しない列をselec...
-
javaでデータベース上のテーブ...
-
MS Access から PostgreSQL へ...
-
ExcelにPostgreSQLのデータを取...
-
バキューム処理の実行時間の目安
-
VIEWのCOPYってできないんですか?
-
フィールドの入れ替えはできま...
-
UPDATE文の更新順序について
-
reindex と update のデッドロック
-
テーブル定義書作成時のIndex付...
-
重複を許すキーの構文がわかり...
-
POSTGRESQL 検索スピードが遅い
-
Postgresqlで配列に日付を格納...
おすすめ情報