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 が入っている
  • クォーテーションが正しく使われていない

などなど。カッコ関係ないじゃん!

関係ないエラー
コピペだとvarchar聞いてなかった!ww

sql loaderとはwhat?
SQL*Loader は、外部ファイル(CSV, Text等)のデータを Oracle Database の表に取り込むユーティリティで、Oracle Database に標準で付属
コントロールファイルを作成して実行する感じ。
OPTIONS(LOAD=1,SKIP=1,ERRORS=-1,ROWS=1)
LOAD DATA
INFILE '棚卸準備のための採用品の中止設定_作業対象.csv'
BADFILE 'sqlloader.bad'
APPEND
INTO TABLE A_20200512_HOSYU
FIELDS TERMINATED BY ","
(TENPO_CD,TENPO_NM,TENPO_ID,JAN_CD,ZAIKO_SU,YJ_CD,SYOHIN_NM,KIKAKU_KANA,HANBAIMOTO_NM)


Next Post Previous Post
No Comment
Add Comment
comment url