标量子查询(一)

标量子查询只和外连接语句等价

点击(此处)折叠或打开

  1. --下面的语句是否等价?
  2. SELECT t1.ID, t2.ID FROM t1, t2 WHERE t1.ID = t2.ID;
  3. SELECT t1.ID, (SELECT t2.ID FROM t2 WHERE ID = t1.ID) FROM t1;

  4. --构造环境,进行验证
  5. DROP TABLE t1;
  6. CREATE TABLE t1 (ID INT);
  7. INSERT INTO t1 VALUES (1);
  8. INSERT INTO t1 VALUES (2);
  9. INSERT INTO t1 VALUES (3);
  10. COMMIT;

  11. DROP TABLE t2;
  12. CREATE TABLE t2 (ID INT );
  13. INSERT INTO t2 VALUES (1);
  14. INSERT INTO t2 VALUES (2);
  15. INSERT INTO t2 VALUES (NULL);
  16. COMMIT;

  17. --执行如下,发现两者并不等价。
  18. SELECT t1.ID, t2.ID FROM t1, t2 WHERE t1.ID = t2.ID;
  19.         ID ID
  20. ---------- ----------
  21.            1 1
  22.            2 2
  23.          
  24. SELECT t1.ID, (SELECT t2.ID FROM t2 WHERE ID = t1.ID) FROM t1;

  25.         ID (SELECTT2.IDFROMT2WHEREID=T1.ID)
  26. ---------- --------------------------------
  27.          1 1
  28.          2 2
  29.          3

  30. --实际上标量子查询只和外关联语句完全等价,具体试验如下:
  31. SELECT t1.ID, t2.ID FROM t1, t2 WHERE t1.ID = t2.ID(+);

  32.         ID ID
  33. ---------- ----------
  34.            1 1
  35.            2 2
  36.            3
  37. SELECT t1.ID, (SELECT t2.ID FROM t2 WHERE ID = t1.ID) FROM t1;

  38.         ID (SELECTT2.IDFROMT2WHEREID=T1.ID)
  39. ---------- --------------------------------
  40.            1 1
  41.            2 2
  42.            3

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1071303/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/17013648/viewspace-1071303/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值