一个SQL语句的意思?高手看过来

来源:百度知道 编辑:UC知道 时间:2024/06/03 22:42:35
AND NOT EXISTS(SELECT 1 FROM MATHIST WHERE MATHIST.ME_ID=M.ME_ID)
不用管其它的,就说说这句话的用途,多谢
本来不想把所有的拿出来,看来不拿出来不行,这下全了,请高手们再分析分析,我试了一下有这样的情况,供参考:当不要最后那一句"AND NOT EXISTS(SELECT 1 FROM MATHIST WHERE MATHIST.ME_ID=M.ME_ID)"的话,就能查找出很多条数据,但加上后,就一条也没有,并且,"select 1 "的话,结果集是一列只有1的集
SELECT M.ME_ID
,M.BEZEICHNUNG
,M.ERPCHARGENR
,M.SUPPLIERBEZEICHNUNG
,M.SUPPLIERCHARGENNR
,M.LAENGE
,M.THICKNESSNOMINALRM
,M.WIDTHNOMINALRM
,M.GEW
,M.STEELGRADE
,M.STEELGRADEGROUP
,NVL(M.PARTNERLOCATION,'6242') SOURCE
,M.ERSTELLDATUM DTBEGINN
,ST.ROLLINGCLASS
,M.WIDTHREQ
,M.THICKNESSNOMINAL
,NVL(M.PARTNERLOCATION_TO, M.ERPLAGERORT) TARGET
,M.TYP
,m.ROUTINGTO
FROM MAT_PRJ_V M
, STEELGRADE ST
WHERE ST.STEELGRADE = M.STEELGRADE
--AND M.TYP = 'BR'
AND M.P_STATUS = 'PR&#

并且不在()里的值
()是选择表MATHIST中第一列
语句应该有问题
SELECT 1 FROM MATHIST WHERE MATHIST.ME_ID=M.ME_ID
应该涉及到2个表,一个是MATHIST 还有一个应该是M
如果问题是
AND NOT EXISTS(SELECT 1 FROM MATHIST,M WHERE MATHIST.ME_ID=M.ME_ID)
那答案就是
并且不属于表MATHIST和表M交集第一列的值

这是个嵌套查询,不过好像不全啊AND前是啥啊。后面好像是说在MATHIST中不存在ID=1

条件是:
不存在于指定子查询中

“1”是表MATHIST中列的名字,意思是不包含于表MATHIST和表M于MATHIST.ME_ID=M.ME_ID时交集时MATHIST表中“1”列中的值