网站首页 > 知识剖析 正文
今天在代码review的时候,发现sql中很多 (+)的写法,看得头晕,记录下。对于sql逻辑比较复杂的场景不推荐是有 (+),容易自己晕掉。
Oracle sql 中 (+)号可以理解为补充的意思,即哪个表有加号,这个表就是匹配表。加在右表的列上代表右表为补充,为左外连接。加在左表的列上代表左表为补充,为右外连接。
注:完全外连接不支持(+)写法;在MySQL中不能作为左右连接标识。
举例:
select * from t_emp_info e, t_oragan_info g where e.organ_code = g.organ_code(+)
解释:e.organ_code = g.organ_code(+)表示t_oragan_info是补充匹配表,即t_oragan_info表中不存在匹配的记录,在t_emp_info表也查询出来,相当于左连接(left join)。
注意事项:
(+)操作符只能出现在where子句中,并且不能与outer join语法同时使用。
当使用(+)操作符执行外连接时,如果在where子句中包含有多个条件,则必须在所有条件中都包含(+)操作符。
(+)操作符只适用于列,而不能用在表达式上。
(+)操作符不能与or和in操作符一起使用。
(+)操作符只能用于实现左外连接和右外连接,而不能用于实现完全外连接。
猜你喜欢
- 2025-07-08 SQL中的EXISTS函数你有用过吗?(oracle数据库exists函数用法)
- 2025-07-08 美团面试特有:写个 SQL 语句然后问加了哪些锁
- 2025-07-08 数据库系统原理:数据插入(数据库插数据语句)
- 2025-07-08 Rust的数据库框架:SQLx连接MySQL实践
- 2025-07-08 10W 行级别数据的 Excel 导入优化记录
- 2025-07-08 excel批量生成sql脚本(excel批量生成数据)
- 2025-07-08 数据库教程-SQL Server查询结果列转行实现与分析
- 2025-07-08 5分钟掌握现有sql逻辑添加逻辑 deepseek提示词。亲身实战
- 2025-07-08 SQL入门基础-如何串联拼接多列的值?
- 2025-07-08 SQL 如何进行并集、交集、差集等集合运算
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)