blob: 0aa49ad3ee3b565dd8364cdaee7e42d38a870097 [file] [log] [blame]
ij> AUTOCOMMIT OFF;
ij> -- MODULE DML014
-- SQL Test Suite, V6.0, Interactive SQL, dml014.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:0045 BETWEEN predicate!
SELECT PNUM
FROM PROJ
WHERE BUDGET BETWEEN 40000 AND 60000;
PN&
---
P6
ij> -- PASS:0045 If PNUM = 'P6'?
SELECT PNUM
FROM PROJ
WHERE BUDGET >= 40000 AND BUDGET <= 60000;
PN&
---
P6
ij> -- PASS:0045 If PNUM = 'P6'?
-- END TEST >>> 0045 <<< END TEST
-- ***********************************************************
-- TEST:0046 NOT BETWEEN predicate !
SELECT CITY
FROM STAFF
WHERE GRADE NOT BETWEEN 12 AND 13;
CITY
---------------
Vienna
ij> -- PASS:0046 If CITY = 'Vienna'?
SELECT CITY
FROM STAFF
WHERE NOT(GRADE BETWEEN 12 AND 13);
CITY
---------------
Vienna
ij> -- PASS:0046 If CITY = 'Vienna'?
-- END TEST >>> 0046 <<< END TEST
-- *************************************************************
-- TEST:0047 IN predicate!
SELECT STAFF.EMPNAME
FROM STAFF
WHERE STAFF.EMPNUM IN
(SELECT WORKS.EMPNUM
FROM WORKS
WHERE WORKS.PNUM IN
(SELECT PROJ.PNUM
FROM PROJ
WHERE PROJ.CITY='Tampa'));
EMPNAME
--------------------
Alice
ij> -- PASS:0047 If EMPNAME = 'Alice'?
SELECT STAFF.EMPNAME
FROM STAFF
WHERE STAFF.EMPNUM = ANY
(SELECT WORKS.EMPNUM
FROM WORKS
WHERE WORKS.PNUM IN
(SELECT PROJ.PNUM
FROM PROJ
WHERE PROJ.CITY='Tampa'));
EMPNAME
--------------------
Alice
ij> -- PASS:0047 If EMPNAME = 'Alice'?
-- END TEST >>> 0047 <<< END TEST
-- ***********************************************************
-- TEST:0048 NOT IN predicate!
SELECT WORKS.HOURS
FROM WORKS
WHERE WORKS.PNUM NOT IN
(SELECT PROJ.PNUM
FROM PROJ
WHERE PROJ.BUDGET BETWEEN 5000 AND 40000);
HOURS
------
12
ij> -- PASS:0048 If HOURS = 12?
SELECT WORKS.HOURS
FROM WORKS
WHERE NOT (WORKS.PNUM IN
(SELECT PROJ.PNUM
FROM PROJ
WHERE PROJ.BUDGET BETWEEN 5000 AND 40000));
HOURS
------
12
ij> -- PASS:0048 If HOURS = 12?
-- END TEST >>> 0048 <<< END TEST
-- ****************************************************************
-- TEST:0049 IN predicate value list!
SELECT HOURS
FROM WORKS
WHERE PNUM NOT IN
(SELECT PNUM
FROM WORKS
WHERE PNUM IN ('P1','P2','P4','P5','P6'));
HOURS
------
80
ij> -- PASS:0049 If HOURS = 80?
SELECT HOURS
FROM WORKS
WHERE NOT (PNUM IN
(SELECT PNUM
FROM WORKS
WHERE PNUM IN ('P1','P2','P4','P5','P6')));
HOURS
------
80
ij> -- PASS:0049 If HOURS = 80?
-- END TEST >>> 0049 <<< END TEST
-- **************************************************************
-- TEST:0050 LIKE predicate -- %!
SELECT EMPNAME
FROM STAFF
WHERE EMPNAME LIKE 'Al%';
EMPNAME
--------------------
Alice
ij> -- PASS:0050 If EMPNAME = 'Alice'?
-- END TEST >>> 0050 <<< END TEST
-- **************************************************************
-- TEST:0051 LIKE predicate -- underscore!
SELECT CITY
FROM STAFF
WHERE EMPNAME LIKE 'B__t%';
CITY
---------------
Vienna
ij> -- PASS:0051 If CITY = 'Vienna'?
-- END TEST >>> 0051 <<< END TEST
-- *************************************************************
-- TEST:0052 LIKE predicate -- ESCAPE character!
-- setup
INSERT INTO STAFF
VALUES('E36','Huyan',36,'Xi_an%');
1 row inserted/updated/deleted
ij> -- PASS:0052 If 1 row is inserted?
--O SELECT CITY
--O FROM STAFF
--O WHERE CITY LIKE 'XiS___S%%'
--O ESCAPE 'S';
-- PASS:0052 If CITY = 'Xi_an%' ?
-- restore
ROLLBACK WORK;
ij> -- END TEST >>> 0052 <<< END TEST
-- **************************************************************
-- TEST:0053 NOT LIKE predicate!
-- setup
INSERT INTO STAFF
VALUES('E36','Huyan',36,'Xi_an%');
1 row inserted/updated/deleted
ij> -- PASS:0053 If 1 row is inserted?
SELECT COUNT(*)
FROM STAFF
WHERE EMPNUM NOT LIKE '_36';
1
-----------
5
ij> -- PASS:0053 If count = 5?
SELECT COUNT(*)
FROM STAFF
WHERE NOT(EMPNUM LIKE '_36');
1
-----------
5
ij> -- PASS:0053 If count = 5?
-- restore
ROLLBACK WORK;
ij> -- END TEST >>> 0053 <<< END TEST
-- ***************************************************************
-- TEST:0054 IS NULL predicate!
-- setup
INSERT INTO STAFF
VALUES('E36','Huyan',36,NULL);
1 row inserted/updated/deleted
ij> -- PASS:0054 If 1 row is inserted?
SELECT EMPNAME
FROM STAFF
WHERE CITY IS NULL;
EMPNAME
--------------------
Huyan
ij> -- PASS:0054 If EMPNAME = 'Huyan'?
-- restore
ROLLBACK WORK;
ij> -- END TEST >>> 0054 <<< END TEST
-- ************************************************************
-- TEST:0055 NOT NULL predicate!
-- setup
INSERT INTO STAFF
VALUES('E36','Huyan',36,NULL);
1 row inserted/updated/deleted
ij> -- PASS:0055 If 1 row is inserted?
SELECT COUNT(*)
FROM STAFF;
1
-----------
6
ij> -- PASS:0055 If count = 6?
SELECT COUNT(*)
FROM STAFF
WHERE CITY IS NOT NULL;
1
-----------
5
ij> -- PASS:0055 If count = 5?
SELECT COUNT(*)
FROM STAFF
WHERE NOT (CITY IS NULL);
1
-----------
5
ij> -- PASS:0055 If count = 5?
-- restore
ROLLBACK WORK;
ij> -- END TEST >>> 0055 <<< END TEST
-- ***************************************************************
-- TEST:0056 NOT EXISTS predicate!
SELECT STAFF.EMPNAME
FROM STAFF
WHERE NOT EXISTS
(SELECT *
FROM PROJ
WHERE NOT EXISTS
(SELECT *
FROM WORKS
WHERE STAFF.EMPNUM = WORKS.EMPNUM
AND WORKS.PNUM=PROJ.PNUM));
EMPNAME
--------------------
Alice
ij> -- PASS:0056 If EMPNAME = 'Alice'?
-- END TEST >>> 0056 <<< END TEST
-- ************************************************************
-- TEST:0057 ALL quantifier !
SELECT CITY
FROM PROJ
WHERE BUDGET > ALL
(SELECT BUDGET
FROM PROJ
WHERE CITY='Vienna');
CITY
---------------
Deale
ij> -- PASS:0057 If CITY = 'Deale'?
-- END TEST >>> 0057 <<< END TEST
-- **************************************************************
-- TEST:0058 SOME quantifier!
SELECT EMPNAME
FROM STAFF
WHERE GRADE < SOME
(SELECT BUDGET/1000 - 39
FROM PROJ
WHERE CITY='Deale');
EMPNAME
--------------------
Betty
ij> -- PASS:0058 If EMPNAME = 'Betty'?
-- END TEST >>> 0058 <<< END TEST
-- *************************************************************
-- TEST:0059 ANY quantifier !
SELECT EMPNAME
FROM STAFF
WHERE GRADE < ANY
(SELECT BUDGET/1000 - 39
FROM PROJ
WHERE CITY = 'Deale');
EMPNAME
--------------------
Betty
ij> -- PASS:0059 If EMPNAME = 'Betty'?
-- END TEST >>> 0059 <<< END TEST
-- *************************************************////END-OF-MODULE
;
ij>