📄 dml059.sql
字号:
AUTOCOMMIT OFF;-- MODULE DML059-- SQL Test Suite, V6.0, Interactive SQL, dml059.sql-- 59-byte ID-- TEd Version #-- AUTHORIZATION HU set schema HU;--0 SELECT USER FROM HU.ECCO; VALUES USER;-- RERUN if USER value does not match preceding AUTHORIZATION comment-- date_time print-- TEST:0257 SELECT MAX, MIN (COL1 + or - COL2)!-- setup INSERT INTO VTABLE VALUES(10,11,12,13,15);-- PASS:0257 If 1 row is inserted?-- setup INSERT INTO VTABLE VALUES(100,111,1112,113,115);-- PASS:0257 If 1 row is inserted? SELECT COL1, MAX(COL2 + COL3), MIN(COL3 - COL2) FROM VTABLE GROUP BY COL1 ORDER BY COL1;-- PASS:0257 If 4 rows are selected in order with values:?-- PASS:0257 ( 0, 3, 1) ?-- PASS:0257 ( 10, 50, 1)?-- PASS:0257 ( 100, 1223, 100)?-- PASS:0257 ( 1000, 1000, 5000)?-- restore ROLLBACK WORK; -- END TEST >>> 0257 <<< END TEST-- *********************************************************************-- TEST:0258 SELECT SUM(2*COL1*COL2) in HAVING SUM(COL2*COL3)!-- setup INSERT INTO VTABLE VALUES (10,11,12,13,15);-- PASS:0258 if 1 row is inserted?-- setup INSERT INTO VTABLE VALUES (100,111,1112,113,115);-- PASS:0258 if 1 row is inserted ? SELECT COL1,SUM(2 * COL2 * COL3) FROM VTABLE GROUP BY COL1 HAVING SUM(COL2 * COL3) > 2000 OR SUM(COL2 * COL3) < -2000 ORDER BY COL1;-- PASS:0258 If 2 rows are selected?-- PASS:0258 If first row has values (100, 366864) ?-- PASS:0258 If second row has values (1000, -12000000) ?-- restore ROLLBACK WORK;-- END TEST >>> 0258 <<< END TEST-- *********************************************************************-- TEST:0259 SOME, ANY in HAVING clause!-- setup INSERT INTO VTABLE VALUES(10,11,12,13,15);-- PASS:0259 If 1 row is inserted?-- setup INSERT INTO VTABLE VALUES(100,111,1112,113,115);-- PASS:0259 If 1 row is inserted? SELECT COL1, MAX(COL2) FROM VTABLE GROUP BY COL1 HAVING MAX(COL2) > ANY (SELECT GRADE FROM STAFF) AND MAX(COL2) < SOME (SELECT HOURS FROM WORKS) ORDER BY COL1;-- PASS:0259 If 1 row is selected and COL1 = 10 and MAX(COL2) = 20?-- restore ROLLBACK WORK;-- END TEST >>> 0259 <<< END TEST-- *******************************************************************-- TEST:0260 EXISTS in HAVING clause!-- setup INSERT INTO VTABLE VALUES(10,11,12,13,15);-- PASS:0260 If 1 row is inserted?-- setup INSERT INTO VTABLE VALUES(100,111,1112,113,115);-- PASS:0260 If 1 row is inserted? SELECT COL1, MAX(COL2) FROM VTABLE GROUP BY COL1 HAVING EXISTS (SELECT * FROM STAFF WHERE EMPNUM = 'E1') AND MAX(COL2) BETWEEN 10 AND 90 ORDER BY COL1;-- PASS:0260 If 1 row is selected and COL1 = 10 and MAX(COL2) = 20?-- restore ROLLBACK WORK;-- END TEST >>> 0260 <<< END TEST-- ******************************************************************-- TEST:0264 WHERE, HAVING without GROUP BY! SELECT SUM(COL1) FROM VTABLE WHERE 10 + COL1 > COL2 HAVING MAX(COL1) > 100;-- PASS:0264 If SUM(COL1) = 1000? SELECT SUM(COL1) FROM VTABLE WHERE 1000 + COL1 >= COL2 HAVING MAX(COL1) > 100;-- PASS:0264 If SUM(COL1) = 1110?-- END TEST >>> 0264 <<< END TEST-- *************************************************////END-OF-MODULE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -