ORACLE ---sql语句学习

1exists语句查找两个表关联后,关联上或没关联上的数据比如A,b表的ID是关联的,想找A表的ID没有在B表的ID中出现过得数据SELECT * FROM A WHERE NOT EXISTS (SELECT * FROM B WHERE A.ID=B.ID)
2Or语句表示2个并列的关系,或者的意思由于使用or语句会出现搜索效率的下降,建议把or语句换成union语句SELECT * FROM A WHERE ID =3 UNION SELECT * FROM A WHERE NAME LIKE '10%'
3IF语句表示条件的判断,写入分支选择在存储过程或者复杂的语句中使用IF 条件判断 THEN
   执行的分支语句;
ELSE
   执行的分支语句;
END IF;
4execute immediate执行语句由于在存储过程中,有些表是执行前才创建的,所以这个存储过程中有些语句在写的时候是会报错的,说没有目标表。这个时候需要把这个语句用单引号括起来,在前面加上execute immediateexecute immediate 'INSERT INTO RD_CROSSWALK_INFO_RP b(pid)
     SELECT pid FROM RD_CROSSWALK_INFO@DBUNI '
5(+)进行两个表的关联查询,显示全部内容比如A、B的ID是关联的,想把B的name字段加到A表中,但是B表的ID是比A表少的,如果不适用这个加号,会导致B表没有的ID数据丢失,使用加号,表示B表没有的ID会用空来表示,不放加号的表会显示所有行SELECT A.ID,B.NAME FROM A ,B WHERE A.ID=B.ID(+)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值