Oracle/Bronze/SQL基礎Ⅰ

Last-modified: 2008-09-18 (木) 19:56:08
  • 自然結合
    • SELECT 部署NO, 部署名 FROM 部署 NATURAL JOIN 従業員; →○
    • SELECT 部署.部署NO, 部署名 FROM 部署 NATURAL JOIN 従業員; →×
      • 自然結合の結合列は修飾出来ない。
    • SELECT 部署NO, 部署.部署名 FROM 部署 NATURAL JOIN 従業員; →○
SELECT 部署NO, 部署名 FROM 部署 NATURAL JOIN 従業員 WHERE 部署NO = 20; →○
SELECT 部署NO, 部署名 FROM 部署 NATURAL JOIN 従業員 ON 部署.部署NO = 従業員.部署NO; →×
 ・NATURAL JOINに結合条件を明示することは出来ない。
 ・NATURAL JOINは、互いの表にある同じ名前、同じデータ型の列で結合する。
SELECT 部署NO, 部署名 FROM 部署 JOIN 従業員 ON 部署.部署NO = 従業員.部署NO; →×
  ・部署NOは2つの表の同じ名前なので、この場合は修飾が必要。
SELECT 部署.部署NO, 部署名 FROM 部署 JOIN 従業員 ON 部署.部署NO = 従業員.部署NO; →○
SELECT 部署.部署NO, 部署名 FROM 部署 JOIN 従業員
             ON 部署.部署NO = 従業員.部署NO WHERE 部署.部署NO = 20; →○
SELECT 部署.部署NO, 部署名 FROM 部署 JOIN 従業員
             ON 部署.部署NO = 従業員.部署NO AND 部署.部署NO = 20; →○