SQL
----
select distinct...重複データ除外
select distinct name from product
複数除外
select distinct name,color from product
参考ページ
----
inner join,left outer join
select *
from users
join posts
on
users.id = posts.user_id
上のSQLでは、「users
テーブルのid
と、posts
テーブルのuser_id
が一致した状態で全カラム取得してください!」っという命令
select users.name, posts.body
from users
join posts
on users.id = posts.user_id
join と inner joinは同じです!
【特徴】
1. 右テーブルの行数に合わせて左テーブルの行数を複製する
2. 結合相手がいない行は結合結果から消滅する
ああ
select *
from users
join posts
このように、右テーブルに繋ぐべき行が複数ある場合、左テーブルの行を複製して結合します。
aa
inner joinはテーブルに存在しない場合は消滅する
outer joinは、どちらかに存在しないものも強制的に取得する
left outerは左側(from ... 結合元)すべて表示
create table A_20200512_HOSYU (
TENPO_CD VARCHAR2(4000),
TENPO_NM VARCHAR2(4000),
TENPO_ID VARCHAR2(4000),
JAN_CD VARCHAR2(4000),
ZAIKO_SU VARCHAR2(4000),
YJ_CD SYOHIN_NM VARCHAR2(4000),
KIKAKU_KANA VARCHAR2(4000),
HANBAIMOTO_NM VARCHAR2(4000)
)
「ORA-00907: 右カッコがありません。」 というエラーもある。
とはいえ、受け付けてくれないのでは先に勧めないので、Webで検索してみたところ、なんとこのメッセージ、右カッコが無い場合以外でも出るみたいじゃないですか!
例えば、
- DEFAULT句が NOT NULL の後にある
- 不要な箇所にカンマが入っている
- カラムの型の桁数を指定しない
- ON とか AND が正しくない使われ方をしている
- CASE文の中で WHEN が抜けている
- 副問い合わせに order by が入っている
- クォーテーションが正しく使われていない
などなど。カッコ関係ないじゃん!
SQL*Loader は、外部ファイル(CSV, Text等)のデータを Oracle Database の表に取り込むユーティリティで、Oracle Database に標準で付属