sql中(+)是什么意思?

这句 where "SPDA002"."POSIN"="KWDA001"."POSIN"(+)是按照posin分类汇总吗?
2024-12-30 22:17:00
推荐回答(2个)
回答1:

SELECT
  student.SNO,
  student.SNAME,
  IC.ICNAME,
  IC.ICMoney
FROM
  student
    LEFT JOIN IC
      ON (student.ICNO = IC.ICNO);

+------+-------+--------+---------+
| SNO  | SNAME | ICNAME | ICMoney |
+------+-------+--------+---------+
|    1 | 张三  | 张三   |     500 |
|    2 | 李四  | 李四   |     250 |
|    3 | 王五  | NULL   |    NULL |
+------+-------+--------+---------+
3 rows in set (0.00 sec)
Oracle 有种另外的写法.

SELECT
  student.SNO,
  student.SNAME,
  IC.ICNAME,
  IC.ICMoney
FROM
  student, IC
WHERE
  student.ICNO = IC.ICNO(+);


      SNO SNAME                ICNAME                  ICMONEY
--------- -------------------- -------------------- ----------
        1 张三                 张三                        500
        2 李四                 李四                        250
        3 王五

可以理解为, 有 (+) 的, 就是  可选的 (也就是可以为 NULL 的)。

回答2: