oracle子查询中

来源:百度知道 编辑:UC知道 时间:2024/05/11 00:33:51
SELECT ….
FROM EMP E
WHERE NOT EXISTS (SELECT ‘X’ FROM DEPT D WHERE D.DEPT_NO = E.DEPT_NO AND DEPT_CAT = ‘A’);
子查询中的‘X‘代表什么意思

X,是没有什么意思的。只是个SQL语法,必须有个字段。
你用任何东西来代替这个都可以,1,2,3,A,B.C都可以
select '1' from ····;都是可以的
EXISTS和IN的区别你应该去了解下。
表EMP的数据部在DEPT中存在的,返回值是TRUE和FLASE,

'X'表示一个字符串。
也就是说,它不是数据库里面的字段。是一个常量。
你的WHERE条件能找到几行数据,就能出现几行X。
这个是一个技巧吧,来判断你的WHERE条件的记录是否存在

X,是没有什么意思的。只是个SQL语法,必须有个字段。
你用任何东西来代替这个都可以,1,2,3,A,B.C都可以
select '1' from ····;都是可以的
EXISTS和IN的区别你应该去了解下。
表EMP的数据部在DEPT中存在的,返回值是TRUE和FLASE,

正解

就是一个*号,代表查询所有字段,其实这样也不影响效率,因为exsits返回的是Boolean值,只有真假,查询出来的没有具体的数据。

EXISTS里面接的SELECT 后面写什么都行 根本不影响,因为EXISTS只返回真假。

是 * 吧