blob: 5fa5dd275f3f93208ecd306cbf632504c866f4e6 [file]
ij> -- MODULE DML019
-- SQL Test Suite, V6.0, Interactive SQL, dml019.sql
-- 59-byte ID
-- TEd Version #
-- AUTHORIZATION HU
set schema HU;
0 rows inserted/updated/deleted
ij> --O SELECT USER FROM HU.ECCO;
VALUES USER;
1
--------------------------------------------------------------------------------------------------------------------------------
HU
ij> -- RERUN if USER value does not match preceding AUTHORIZATION comment
-- date_time print
-- TEST:0074 GROUP BY col with SELECT col., SUM!
SELECT PNUM, SUM(HOURS)
FROM WORKS
GROUP BY PNUM;
PN&|2
---------------
P1 |80
P2 |140
P3 |80
P4 |60
P5 |92
P6 |12
ij> -- PASS:0074 If 6 rows are selected?
-- PASS:0074 If PNUMs: 'P1', 'P2', 'P3', 'P4', 'P5', 'P6'?
-- PASS:0074 If SUM(HOURS) for 'P2' is 140 ?
-- END TEST >>> 0074 <<< END TEST
-- **********************************************************
-- TEST:0075 GROUP BY clause!
SELECT EMPNUM
FROM WORKS
GROUP BY EMPNUM
-- Derby change to standardize order for diff
order by empnum;
EM&
---
E1
E2
E3
E4
ij> -- PASS:0075 If 4 rows are selected with EMPNUMs: 'E1','E2','E3','E4'?
-- END TEST >>> 0075 <<< END TEST
-- ************************************************************
-- TEST:0076 GROUP BY 2 columns!
SELECT EMPNUM,HOURS
FROM WORKS
GROUP BY EMPNUM,HOURS
-- Derby change to standardize order for diff
order by empnum, hours;
EM&|HOURS
----------
E1 |12
E1 |20
E1 |40
E1 |80
E2 |40
E2 |80
E3 |20
E4 |20
E4 |40
E4 |80
ij> -- PASS:0076 If 10 rows are selected and EMPNUM = 'E1' in 4 rows ?
-- PASS:0076 for 1 row EMPNUM = 'E1' and HOURS = 12?
-- END TEST >>> 0076 <<< END TEST
-- ***********************************************************
-- TEST:0077 GROUP BY all columns with SELECT * !
SELECT *
FROM WORKS
GROUP BY PNUM,EMPNUM,HOURS;
EM&|PN&|HOURS
--------------
E1 |P1 |40
E1 |P2 |20
E1 |P3 |80
E1 |P4 |20
E1 |P5 |12
E1 |P6 |12
E2 |P1 |40
E2 |P2 |80
E3 |P2 |20
E4 |P2 |20
E4 |P4 |40
E4 |P5 |80
ij> -- PASS:0077 If 12 rows are selected ?
-- END TEST >>> 0077 <<< END TEST
-- ***********************************************************
-- TEST:0078 GROUP BY three columns, SELECT two!
SELECT PNUM,EMPNUM
FROM WORKS
GROUP BY EMPNUM,PNUM,HOURS;
PN&|EM&
-------
P1 |E1
P2 |E1
P3 |E1
P4 |E1
P5 |E1
P6 |E1
P1 |E2
P2 |E2
P2 |E3
P2 |E4
P4 |E4
P5 |E4
ij> -- PASS:0078 If 12 rows are selected ?
-- END TEST >>> 0078 <<< END TEST
-- *********************************************************
-- TEST:0079 GROUP BY NULL value!
-- setup
INSERT INTO STAFF(EMPNUM,EMPNAME,GRADE)
VALUES('E6','WANG',40);
1 row inserted/updated/deleted
ij> -- PASS:0079 If 1 row is inserted?
INSERT INTO STAFF(EMPNUM,EMPNAME,GRADE)
VALUES('E7','SONG',50);
1 row inserted/updated/deleted
ij> -- PASS:0079 If 1 row is inserted?
SELECT SUM(GRADE)
FROM STAFF
WHERE CITY IS NULL
GROUP BY CITY;
1
---------
90
ij> -- PASS:0079 If SUM(GRADE) = 90?
-- restore
DELETE FROM STAFF WHERE CITY IS NULL;
2 rows inserted/updated/deleted
ij> -- PASS:0079 If 2 rows deleted?
--O SELECT COUNT(*) FROM STAFF;
SELECT * FROM STAFF;
EM&|EMPNAME |GRADE|CITY
----------------------------------------------
E1 |Alice |12 |Deale
E2 |Betty |10 |Vienna
E3 |Carmen |13 |Vienna
E4 |Don |12 |Deale
E5 |Ed |13 |Akron
ij> -- PASS:0079 If count = 5?
-- END TEST >>> 0079 <<< END TEST
-- *************************************************////END-OF-MODULE
;
ij>