1: エクセルのシート名はFROM句の後で[ $]で囲う。
例) FROM [sheets1$]
2: エクセルでコネクションを行う際の留意点
例)
.Provider = "Microsoft.Ace.OLEDB.12.0"
.Properties("Data Source") = ThisWorkbook.FullName ’←アドレスを入力
.Properties("Extended Properties") = "Excel 12.0" ’エクセルの場合は必ず指定する
3: 値内のワイルドカードは % を用いる。なお値はシングルコーテーションで囲う。
例) LIKE '654%'
4: JOIN句
4-1:LEFT JOIN ⇒左側の値を元に照合する
(例)
SELECT * FROM 左 LEFT JOIN 右 ON 左.項目 = 右.項目
(データ) ⇒ (抽出結果)
左 右 左 右
--------------- ---------------
○1 ○1 ○1 ○1
○2 ○2
○3 xxx抽出されないxxx
4-2:RIGHT JOIN ⇒右側の値を元に照合する
(例)
SELECT * FROM 左 RIGHT JOIN 右 ON 左.項目 = 右.項目
(データ) ⇒ (抽出結果)
左 右 左 右
--------------- ---------------
○1 ○1 ○1 ○1
○2 xxx抽出されないxxx
○3 ○3
4-3: INNER JOIN ⇒互いに一致する値のみ抽出する
(例)
SELECT * FROM 左 INNER JOIN 右 ON 左.項目 = 右.項目
<次のSQLと抽出結果は同じ>
SELECT * FROM 左 , 右 ON 左.項目 = 右.項目
(データ) ⇒ (抽出結果)
左 右 左 右
--------------- ---------------
○1 ○1 ○1 ○1
○2 xxx抽出されないxxx
○3 xxx抽出されないxxx
※4-1を利用して、右側にないデータを抽出することができる
(例)
SELECT * 左 LEFT JOIN 右 ON 左.項目 = 右.項目 WHERE 右 IS NULL
(データ) ⇒ (抽出結果)
左 右 左 右
--------------- ---------------
○1 ○1 xxx抽出されないxxx
○2 ○2
○3 xxx抽出されないxxx
~~~RIGHT JOINを用いる場合は逆の結果になる~~~
(例)
SELECT * 左 RIGHT JOIN 右 ON 左.項目 = 右.項目 WHERE 左 IS NULL
(データ) ⇒ (抽出結果)
左 右 左 右
--------------- ---------------
○1 ○1 xxx抽出されないxxx
○2 xxx抽出されないxxx
○3 ○3