本文介绍了“全联盟”和“UNION” ????是否返回相同的结果?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 尊敬的专家, 我的Oracle 8i数据库中有两个表:TEST(COL1,COl2,REC_NO) 和TEST1(COL1,COL2) ,REC_NO)。 两个表都是唯一索引的(COL1,COL2,REC_NO)。 我认为以下SQL命令将会返回相同的结果,但一个我朋友的不这么认为。他说QUERY 1将返回1未分类 记录(ROWNUM COL2 ASC,REC_NO ASC)。 在QUERY 2中,UNION将先排序然后返回第一张 区别记录。 但是我不能复制他说的情况。 我错了吗 ???请指教并谢谢。 KENNY CHEN ============ QUERY 1 ==== ========= (SELECT COL1,COL2,REC_NO FROM TEST UNION ALL SELECT COL1,COL2,REC_NO来自TMP_TEST) WHERE(COL1 =:val1和COL2 =:val2 AND REC_NO>:val3) AND ROWNUM< 2 订购COL1 ASC,COL2 ASC,REC_NO ASC ============ QUERY 2 ========= ==== (SELECT COL1,COL2,REC_NO FROM TEST UNION SELECT COL1,COL2,REC_NO来自TMP_TEST) WHERE(COL1 =:val1 AND COL2 =:val2 AND REC_NO>:val3) AND ROWNUM< 2 按COL1 ASC,COL2 ASC,REC_NO ASC排序 Dear experts, I have two tables in my Oracle 8i database: TEST (COL1,COl2,REC_NO)and TEST1 (COL1,COL2,REC_NO). Both tables are unique-indexed on (COL1,COL2,REC_NO). I think the following SQL commands will return the same result but oneof my friends don''t think so. He said "QUERY 1" will return 1 unsortedrecord (ROWNUM < 2 ) first then sort the result (ORDER BY COL1 ASC,COL2 ASC, REC_NO ASC).In "QUERY 2" , "UNION" will sort first then return the firstdistincted record.But I can''t duplicate the situation he said. AM I WRONG ??? Please advise and thank you. KENNY CHEN ============ QUERY 1 =============( SELECT COL1 , COL2 ,REC_NO FROM TESTUNION ALLSELECT COL1 , COL2 ,REC_NO FROM TMP_TEST )WHERE (COL1 = :val1 AND COL2 = :val2 AND REC_NO > :val3 )AND ROWNUM < 2ORDER BY COL1 ASC, COL2 ASC, REC_NO ASC============ QUERY 2 =============(SELECT COL1 , COL2 ,REC_NO FROM TESTUNIONSELECT COL1 , COL2 ,REC_NO FROM TMP_TEST )WHERE (COL1 = :val1 AND COL2 = :val2 AND REC_NO > :val3 )AND ROWNUM < 2ORDER BY COL1 ASC, COL2 ASC, REC_NO ASC推荐答案 这篇关于“全联盟”和“UNION” ????是否返回相同的结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
10-29 15:46