sql - 查询的意义是什么?

标签 sql database

我认识的人 (+) 表示外部连接

SELECT *
FROM email a,email_types b
WHERE a.user_id  (+)     =10
  AND a.email_id(+)=b.email_enum;

SELECT *
FROM email a,email_types b
WHERE a.user_id      =10
  AND a.email_id(+)=b.email_enum;

a.user_id (+) = 10 是什么意思?这等于 a.user_id =10,还是它们有不同的含义?

这两个查询有什么区别?

a.user_id (+) =10b哪一列匹配。值 10 是否与 b 表的列匹配?

最佳答案

(+) 语法是 Oracle 用于隐式外连接的旧的、过时的语法。带有 (+) 的一侧可能没有匹配项,因此此查询将返回所有带有 b 的记录及其对应的 a 其中 a.user_id = 10,如果没有匹配的 a 记录,则为 null

关于sql - 查询的意义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30749002/

相关文章:

mysql - 对于 SELECT * WHERE id ='1blah' 这样的查询,PostgreSQL 和 Oracle 会如何表现?

sql - 在 firebird 中使用 `LIKE :varname || ' %'` 上的索引

php - 获取返回的 PHP 结果数

mysql - 根据多个变量求平均值

sql - Postgres - 创建 EXCLUDE 约束非常慢

mysql - MySQL表名中的特殊字符

sql - 如何统计某个日期范围内的数据库元素?

sql - 检查 SQLite 中是否存在字段而不全部获取它们

sql - 使用多个线程更新同一个数据库会更快吗?

c# - SQLDependency + 服务代理