File: dml148.out

package info (click to toggle)
derby 10.14.2.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 79,056 kB
  • sloc: java: 691,961; sql: 42,686; xml: 20,512; sh: 3,373; sed: 96; makefile: 60
file content (279 lines) | stat: -rw-r--r-- 12,709 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
ij> AUTOCOMMIT OFF;
ij> -- MODULE  DML148  

-- SQL Test Suite, V6.0, Interactive SQL, dml148.sql
-- 59-byte ID
-- TEd Version #

-- AUTHORIZATION FLATER
   set schema FLATER;
0 rows inserted/updated/deleted
ij> --O   SELECT USER FROM HU.ECCO;
  VALUES USER;
1                                                                                                                               
--------------------------------------------------------------------------------------------------------------------------------
FLATER                                                                                                                          
ij> -- RERUN if USER value does not match preceding AUTHORIZATION comment
   ROLLBACK WORK;
ij> -- date_time print

-- TEST:0843 Ordering of column names in joins !

-- REFERENCE:  7.5 sr 6 f
-- NOTE:0843 ordering of column names in NATURAL JOIN

   SELECT * 
--O     FROM HU.WORKS NATURAL LEFT JOIN HU.PROJ
     FROM HU.WORKS JOIN HU.PROJ on (HU.WORKS.pnum=HU.PROJ.pnum)
--O     FROM WORKS , PROJ where works.pnum = proj.pnum
     ORDER BY EMPNUM DESC, HU.PROJ.PNUM;
EM&|PN&|HOURS |PN&|PNAME               |PTYPE |BUDGET    |CITY           
-------------------------------------------------------------------------
E4 |P2 |20    |P2 |CALM                |Code  |30000     |Vienna         
E4 |P4 |40    |P4 |SDP                 |Design|20000     |Deale          
E4 |P5 |80    |P5 |IRM                 |Test  |10000     |Vienna         
E3 |P2 |20    |P2 |CALM                |Code  |30000     |Vienna         
E2 |P1 |40    |P1 |MXSS                |Design|10000     |Deale          
E2 |P2 |80    |P2 |CALM                |Code  |30000     |Vienna         
E1 |P1 |40    |P1 |MXSS                |Design|10000     |Deale          
E1 |P2 |20    |P2 |CALM                |Code  |30000     |Vienna         
E1 |P3 |80    |P3 |SDP                 |Test  |30000     |Tampa          
E1 |P4 |20    |P4 |SDP                 |Design|20000     |Deale          
E1 |P5 |12    |P5 |IRM                 |Test  |10000     |Vienna         
E1 |P6 |12    |P6 |PAYR                |Design|50000     |Deale          
ij> -- PASS:0843 If 12 rows selected?
-- PASS:0843 If ordered row and column values for first two rows are: ?
-- PASS:0843    P2  E4  20  CALM  Code    30000  Vienna ?
-- PASS:0843    P4  E4  40  SDP   Design  20000  Deale  ?


-- NOTE:0843 ordering of column names in JOIN ... ON

   SELECT * 
    FROM HU.WORKS JOIN HU.PROJ ON (HU.WORKS.PNUM=HU.PROJ.PNUM)
    ORDER BY EMPNUM DESC, HU.PROJ.PNUM;
EM&|PN&|HOURS |PN&|PNAME               |PTYPE |BUDGET    |CITY           
-------------------------------------------------------------------------
E4 |P2 |20    |P2 |CALM                |Code  |30000     |Vienna         
E4 |P4 |40    |P4 |SDP                 |Design|20000     |Deale          
E4 |P5 |80    |P5 |IRM                 |Test  |10000     |Vienna         
E3 |P2 |20    |P2 |CALM                |Code  |30000     |Vienna         
E2 |P1 |40    |P1 |MXSS                |Design|10000     |Deale          
E2 |P2 |80    |P2 |CALM                |Code  |30000     |Vienna         
E1 |P1 |40    |P1 |MXSS                |Design|10000     |Deale          
E1 |P2 |20    |P2 |CALM                |Code  |30000     |Vienna         
E1 |P3 |80    |P3 |SDP                 |Test  |30000     |Tampa          
E1 |P4 |20    |P4 |SDP                 |Design|20000     |Deale          
E1 |P5 |12    |P5 |IRM                 |Test  |10000     |Vienna         
E1 |P6 |12    |P6 |PAYR                |Design|50000     |Deale          
ij> -- PASS:0843 If 12 rows selected?
-- PASS:0843 If ordered row and column values for first two rows are: ?
-- PASS:0843    P2  E4  20  CALM  Code    30000  Vienna ?
-- PASS:0843    P4  E4  40  SDP   Design  20000  Deale  ?
-- NOTE:0843 Same answer as above


-- NOTE:0843 ordering of column names in NATURAL JOIN
-- REFERENCE:  7.5 sr 5

    SELECT * 
--O      FROM HU.WORKS RIGHT JOIN HU.PROJ
--O      ON HU.WORKS.PNUM = HU.PROJ.PNUM
      FROM HU.WORKS JOIN HU.PROJ
      ON HU.PROJ.PNUM = HU.WORKS.PNUM
      ORDER BY 1 DESC, 2;
EM&|PN&|HOURS |PN&|PNAME               |PTYPE |BUDGET    |CITY           
-------------------------------------------------------------------------
E4 |P2 |20    |P2 |CALM                |Code  |30000     |Vienna         
E4 |P4 |40    |P4 |SDP                 |Design|20000     |Deale          
E4 |P5 |80    |P5 |IRM                 |Test  |10000     |Vienna         
E3 |P2 |20    |P2 |CALM                |Code  |30000     |Vienna         
E2 |P1 |40    |P1 |MXSS                |Design|10000     |Deale          
E2 |P2 |80    |P2 |CALM                |Code  |30000     |Vienna         
E1 |P1 |40    |P1 |MXSS                |Design|10000     |Deale          
E1 |P2 |20    |P2 |CALM                |Code  |30000     |Vienna         
E1 |P3 |80    |P3 |SDP                 |Test  |30000     |Tampa          
E1 |P4 |20    |P4 |SDP                 |Design|20000     |Deale          
E1 |P5 |12    |P5 |IRM                 |Test  |10000     |Vienna         
E1 |P6 |12    |P6 |PAYR                |Design|50000     |Deale          
ij> -- PASS:0843 If 12 rows selected?
-- PASS:0843 If ordered row and column values for first two rows are: ?
-- PASS:0843    E4  P2  20  P2  CALM  Code    30000  Vienna ?
-- PASS:0843    E4  P4  40  P4  SDP   Design  20000  Deale  ?

   ROLLBACK WORK;
ij> -- END TEST >>> 0843 <<< END TEST

-- *********************************************

-- TEST:0844 Outer join predicates !


   CREATE TABLE SEVEN_TYPES (
       T_INT     INTEGER,
       T_CHAR    CHAR(10),
       T_SMALL   SMALLINT,
       T_DECIMAL DECIMAL(10,2),
       T_REAL    REAL,
       T_FLOAT   FLOAT,
       T_DOUBLE  DOUBLE PRECISION);
0 rows inserted/updated/deleted
ij> COMMIT WORK;
ij> -- setup
   DELETE FROM SEVEN_TYPES;
0 rows inserted/updated/deleted
WARNING 02000: No row was found for FETCH, UPDATE or DELETE; or the result of a query is an empty table.
ij> INSERT INTO SEVEN_TYPES VALUES (1, 'E1',-11,   2,  3,   4,   5);
1 row inserted/updated/deleted
ij> INSERT INTO SEVEN_TYPES VALUES (2, 'E2', -5,  13, 33,-444, -55);
1 row inserted/updated/deleted
ij> INSERT INTO SEVEN_TYPES VALUES (3, 'E6', -3,-222,333,  44, 555);
1 row inserted/updated/deleted
ij> INSERT INTO SEVEN_TYPES VALUES (12,'DUP', 0,   0, -1,   1,1E+1);
1 row inserted/updated/deleted
ij> INSERT INTO SEVEN_TYPES VALUES (12,'DUP', 0,   0, -1,   1,1E+1);
1 row inserted/updated/deleted
ij> --
-- NOTE:0844 BETWEEN predicate
   SELECT EMPNAME, CITY, T_DECIMAL
     FROM HU.STAFF LEFT OUTER JOIN SEVEN_TYPES 
        ON -GRADE / 11 BETWEEN T_REAL AND T_DECIMAL
     ORDER BY EMPNAME;
EMPNAME             |CITY           |T_DECIMAL   
-------------------------------------------------
Alice               |Deale          |NULL        
Betty               |Vienna         |0.00        
Betty               |Vienna         |0.00        
Carmen              |Vienna         |NULL        
Don                 |Deale          |NULL        
Ed                  |Akron          |NULL        
ij> -- PASS:0844 If 6 rows selected with ordered rows and column values ?
-- PASS:0844    Alice  Deale  NULL  ?
-- PASS:0844    Betty  Vienna    0  ?
-- PASS:0844    Betty  Vienna    0  ?
-- PASS:0844    Carmen Vienna NULL  ?
-- PASS:0844    Don    Deale  NULL  ?
-- PASS:0844    Ed     Akron  NULL  ?

-- NOTE:0844 comparable CHAR types
-- NOTE:0844 IN predicate, with literals and variable value
   SELECT T_INT, T_CHAR, EMPNAME, EMPNUM, GRADE 
--O     FROM SEVEN_TYPES RIGHT JOIN HU.STAFF
    FROM SEVEN_TYPES right outer JOIN HU.STAFF
       ON GRADE IN (10, 11, 13) AND EMPNUM = T_CHAR
   ORDER BY EMPNAME, T_INT;
T_INT      |T_CHAR    |EMPNAME             |EM&|GRADE
-----------------------------------------------------
NULL       |NULL      |Alice               |E1 |12   
2          |E2        |Betty               |E2 |10   
NULL       |NULL      |Carmen              |E3 |13   
NULL       |NULL      |Don                 |E4 |12   
NULL       |NULL      |Ed                  |E5 |13   
ij> -- PASS:0844 If 5 rows selected with ordered rows and column values ?
-- PASS:0844    NULL NULL Alice  E1 12  ?
-- PASS:0844       2 E2   Betty  E2 10  ?
-- PASS:0844    NULL NULL Carmen E3 13  ?
-- PASS:0844    NULL NULL Don    E4 12  ?
-- PASS:0844    NULL NULL Ed     E5 13  ?

   SELECT HU.STAFF.CITY,EMPNAME,PNAME,BUDGET
--O     FROM HU.STAFF LEFT JOIN HU.PROJ
     FROM HU.STAFF left outer JOIN HU.PROJ
       ON HU.STAFF.CITY = HU.PROJ.CITY
      AND HU.STAFF.CITY <> 'Vienna'
      AND EMPNAME <> 'Don'
     WHERE BUDGET > 15000 OR BUDGET IS NULL
--O   ORDER BY HU.STAFF.CITY, EMPNAME, BUDGET;
   ORDER BY 1,2,4;
CITY           |EMPNAME             |PNAME               |BUDGET    
--------------------------------------------------------------------
Akron          |Ed                  |NULL                |NULL      
Deale          |Alice               |SDP                 |20000     
Deale          |Alice               |PAYR                |50000     
Deale          |Don                 |NULL                |NULL      
Vienna         |Betty               |NULL                |NULL      
Vienna         |Carmen              |NULL                |NULL      
ij> -- PASS:0844 If 6 rows selected with ordered rows and column values ?
-- PASS:0844    Akron   Ed     NULL NULL   ?
-- PASS:0844    Deale   Alice  SDP  20000  ?
-- PASS:0844    Deale   Alice  PAYR 50000  ?
-- PASS:0844    Deale   Don    NULL NULL   ?
-- PASS:0844    Vienna  Betty  NULL NULL   ?
-- PASS:0844    Vienna  Carmen NULL NULL   ?

-- NOTE:0844 difference between WHERE and ON
   SELECT HU.STAFF.CITY,EMPNAME,PNAME,BUDGET
--O     FROM HU.STAFF LEFT JOIN HU.PROJ
     FROM HU.STAFF left outer JOIN HU.PROJ
       ON HU.STAFF.CITY = HU.PROJ.CITY
      AND HU.STAFF.CITY <> 'Vienna'
     WHERE (BUDGET > 15000 OR BUDGET IS NULL)
      AND EMPNAME <> 'Don'
--O   ORDER BY HU.STAFF.CITY, EMPNAME, BUDGET;
   ORDER BY 1,2,4;
CITY           |EMPNAME             |PNAME               |BUDGET    
--------------------------------------------------------------------
Akron          |Ed                  |NULL                |NULL      
Deale          |Alice               |SDP                 |20000     
Deale          |Alice               |PAYR                |50000     
Vienna         |Betty               |NULL                |NULL      
Vienna         |Carmen              |NULL                |NULL      
ij> -- PASS:0844 If 5 rows selected with ordered rows and column values ?
-- PASS:0844    Akron   Ed     NULL NULL   ?
-- PASS:0844    Deale   Alice  SDP  20000  ?
-- PASS:0844    Deale   Alice  PAYR 50000  ?
-- PASS:0844    Vienna  Betty  NULL NULL   ?
-- PASS:0844    Vienna  Carmen NULL NULL   ?

-- NOTE:0844 correlation name with self-JOIN
   SELECT XX.T_INT, YY.T_INT
    FROM SEVEN_TYPES XX RIGHT OUTER JOIN SEVEN_TYPES YY
       ON XX.T_INT = YY.T_INT +1
--O   ORDER BY YY.T_INT;
   ORDER BY 2;
T_INT      |T_INT      
-----------------------
2          |1          
3          |2          
NULL       |3          
NULL       |12         
NULL       |12         
ij> -- PASS:0844 If 5 rows selected with ordered rows and column values ?
-- PASS:0844    2      1  ?
-- PASS:0844    3      2  ?
-- PASS:0844    NULL   3  ?
-- PASS:0844    NULL  12  ?
-- PASS:0844    NULL  12  ?

-- NOTE:0844 nested booleans
-- NOTE:0844 data types are merely comparable
   SELECT GRADE, T_FLOAT, T_DOUBLE
--O     FROM HU.STAFF LEFT JOIN SEVEN_TYPES T7
     FROM HU.STAFF left outer JOIN SEVEN_TYPES T7
       ON GRADE * -40 > T7.T_FLOAT
       OR (T_DOUBLE -542.5 < GRADE AND T_DOUBLE -541.5 > GRADE)
   ORDER BY GRADE;
GRADE|T_FLOAT                 |T_DOUBLE                
-------------------------------------------------------
10   |-444.0                  |-55.0                   
12   |NULL                    |NULL                    
12   |NULL                    |NULL                    
13   |44.0                    |555.0                   
13   |44.0                    |555.0                   
ij> -- PASS:0844 If 5 rows selected with ordered rows and column values ?
-- PASS:0844    10 -444 (approximately)  -55 (approximately) ?
-- PASS:0844    12 NULL                 NULL                 ?
-- PASS:0844    12 NULL                 NULL                 ?
-- PASS:0844    13   44 (approximately)  555 (approximately) ?
-- PASS:0844    13   44 (approximately)  555 (approximately) ?

ROLLBACK WORK;
ij> --ODROP TABLE SEVEN_TYPES CASCADE;
DROP TABLE SEVEN_TYPES ;
0 rows inserted/updated/deleted
ij> COMMIT WORK;
ij> -- END TEST >>> 0844 <<< END TEST

-- *************************************************////END-OF-MODULE
;
ij>