This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
EMP_JB SELECT id+--------+ ,"! ANSWER|ID|JOB | ,ROW_N0MBER23 O6ER2ORDER B "!3 AS R ==========|--|-----| #ROM em$_! ID JOB R|%&|Sa)e(| ORDER B "!/ -- ----- -|&|C)e'| & C)e' %+--------+ %& Sa)e( Figure 5, %&&ign ro'-number& example
CREATE ALIAS em$)":ee_a)% #OR em$)":ee/COMMIT/ CREATE ALIAS em$)":ee_a) 9OR em$)":ee_a)%/COMMIT/ CREATE ALIAS em$)":ee_a)? #OR em$)":ee_a)/COMMIT/Figure %, De9ine 7'ee a)ia(e(, 7e )a77e' "n 7e ea')ie'
LABELED D0RATIONS ITEM WORS WIT DATETIME4------------------------ #I1ED 4---------------------SIN;0LAR PL0RAL SIE DATE TIME TIMESTAMP=========== ============ ===== ==== ==== =========
EAR EARS N - MONT MONTS N - DA DAS - O0R O0RS - MIN0TE MIN0TES - SECOND SECONDS - MICROSECOND MICROSECONDS - Figure H, La!e)ed D@'a7i"n( and Da7eTime T:$e(***********************************************************************
ANSWER ==========SELECT (a)e(_da7e 4= %KK-%-?% ,(a)e(_da7e - %& DA AS d% 4= %KK-%-% ,(a)e(_da7e + -% MONT AS d 4= %KK-%%-?& ,(a)e(_da7e + KK EARS AS d? 4= &K-%-?% ,(a)e(_da7e + DAS - MONTS AS d 4= %KK-&-
,(a)e(_da7e + 2+H3 DAS AS d 4= %KKH-&%-%&#ROM (a)e(WERE (a)e(_$e'("n = 5;O0NOT5 AND (a)e(_da7e = 5%KK-%-?%5Figure , Eam$)e, La!e)ed D@'a7i"n @(a<e
*********************************************************************** ANSWER ==========SELECT (a)e(_da7e 4= %KK-%-?% ,(a)e(_da7e + MONT AS d% 4= %KKH-&-K ,(a)e(_da7e + ? MONTS AS d 4= %KKH-&?-?% ,(a)e(_da7e + MONT
+ % MONT AS d? 4= %KKH-&?-K ,(a)e(_da7e + 2+%3 MONTS AS d 4= %KKH-&?-?%#ROM (a)e(WERE (a)e(_$e'("n = 5;O0NOT5 AND (a)e(_da7e = 5%KK-%-?%5/Figure , Addin< M"n7( - 6a':in< Re(@)7(
AND !.de$7name = 5OPERATIONS5 &&&?&& SMIT E%% AND a.(e IN 25M5,5#53 &&&?%& SETRI;T E%% AND !.)">a7i"n IS N0LLORDER B %/Figure ?, C"''e)a7i"n name @(a<e eam$)e
SELECT em$n" AS e_n@m ANSWER ,midini7 AS m in7 ===================
,$"nen" AS ... E_N0M M INT ...#ROM em$)":ee ------ ----- ----WERE em$n" 4 5&&&&?&5 &&&&%& I ?KORDER B %/ &&&&& L ?HFigure , Renamin< 9ie)d( @(in< AS
CREATE 8ieG em$ ASSELECT em$n" AS e_n@m ,midini7 AS m in7
,$"nen" AS ...#ROM em$)":ee/ ANSWER ===================SELECT * E_N0M M INT ...#ROM em$ ------ ----- ----WERE ... = 5?K5/ &&&&%& I ?KFigure , 6ieG 9ie)d name( de9ined @(in< AS
SELECT A6;2>"mm3 AS a% ANSWER ,S0M2>"mm3 CO0NT2*3 AS a ===============#ROM (7a99 A% AWERE id 4 %&&/ ------- ------ KH.& ?&.HFigure H, A6; "9 da7a >"n7ainin< n@)) 8a)@e(
,MA12)a(7name3 AS ma ========#ROM em$)":ee N0M MA1WERE 9i'(7nme = 5#RED5/ --- --- & -Figure , ;e77in< a N0LL 8a)@e 9'"m a 9ie)d de9ined NOT N0LL
SELECT A6;2>"mm3 AS a% ANSWER ,S0M2>"mm3 CO0NT2*3 AS a ===============#ROM (7a99 A% AWERE id 4 %&& ------- ------ AND >"mm IS NOT N0LL/ KH.& KH.&Figure , A6; "9 7"(e '"G( 7a7 a'e n"7 n@))
SELECT 5JON5 AS J% ,5JON55S5 AS J ANSWER ,555JON55S555 AS J? ============================= ,5JON55S5 AS J J% J J? J#ROM (7a99 ---- ------ -------- --------WERE id = %&/ JON JON5S 5JON5S5 JON5SFigure K, @"7e @(a<e
SELECT id AS 0SER ID ANSWER
,de$7 AS D =============================== ,:ea'( AS 0SER ID D 5T1T5 @"7e 9)d ,5ABC5 AS 5T1T5 ------- -- -- ----- ----------- ,55 AS @"7e 9)d %& & ABC #ROM (7a99 ( & & ABC WERE id 4 & ?& ? ABC ORDER B 0SER ID/Figure H&, D"@!)e-@"7e @(a<e
Figure H%, Ba(i> P'edi>a7e (:n7a, % "9
SELECT id, "!, de$7 ANSWER#ROM (7a99 ===============WERE "! = 5M<'5 ID JOB DEPT AND NOT "! 4 5M<'5 --- ---- ---- AND NOT "! = 5Sa)e(5 %& M<' &
SELECT id, de$7, "! ANSWER#ROM (7a99 ==============WERE 2id,de$73 = AN ID DEPT JOB 2SELECT de$7, id --- ---- ----- #ROM (7a993 & & Sa)e(ORDER B %/Figure H, @an7i9ied P'edi>a7e eam$)e, m@)7i-8a)@e (@!-@e':
Figure HK, BETWEEN P'edi>a7e (:n7a
SELECT id, "! ANSWER#ROM (7a99 =========
WERE id BETWEEN %& AND ?& ID JOB AND id NOT BETWEEN ?& AND %& --- ----- AND NOT id NOT BETWEEN %& AND ?& %& M<'ORDER B id/ & Sa)e( ?& M<'Figure &, BETWEEN P'edi>a7e eam$)e(
Figure %, E1ISTS P'edi>a7e (:n7a
SELECT id, "! ANSWER#ROM (7a99 a =========WERE E1ISTS ID JOB 2SELECT * --- ----- #ROM (7a99 ! %& M<' WERE !.id = a.id & Sa)e( AND !.id 4 &3 ?& M<'ORDER B id/ & Sa)e(
SELECT id, "! ANSWER#ROM (7a99 a =========WERE id IN 2%&,&,?&3 ID JOB AND id IN 2SELECT id --- ----- #ROM (7a993 %& M<' AND id NOT IN KK & Sa)e(ORDER B id/ ?& M<'Figure , IN P'edi>a7e eam$)e(, (in<)e 8a)@e(
SELECT em$n", )a(7name ANSWER#ROM em$)":ee ===============WERE 2em$n", 5AD?%%?53 IN EMPNO LASTNAME 2SELECT em$n", $'"n" ------ ------- #ROM em$_a>7 &&&H& JONSON WERE em$7ime &.3 &&&& PEREORDER B %/Figure , IN P'edi>a7e eam$)e, m@)7i-8a)@e
Figure H, LIE P'edi>a7e (:n7a
SELECT id, name ANSWER
#ROM (7a99 ==============WERE name LIE 5SFn5 ID NAME OR name LIE 5_a_aF5 --- --------- OR name LIE 5F'_Fa5 %?& ama<@>iORDER B id/ && S>"@77enFigure , LIE P'edi>a7e eam$)e(
WERE id = %& ID AND 5ABC5 LIE 5ABF5 --- AND 5AFC5 LIE 5AFC5 ESCAPE 55 %& AND 5A_C5 LIE 5A_C5 ESCAPE 55 AND 5A_U5 LIE 5AU_UU5 ESCAPE 5U5/Figure K, LIE and ESCAPE eam$)e(
Figure &, N0LL P'edi>a7e (:n7a
SELECT id, >"mm ANSWER#ROM (7a99 =========WERE id 4 %&& ID COMM AND id IS NOT N0LL --- ---- AND >"mm IS N0LL %& - AND NOT >"mm IS NOT N0LL ?& -ORDER B id/ & -Figure %, N0LL $'edi>a7e eam$)e(
SELECT id ,name#ROM (7a99WERE name LIE 5Fa5 || 15?B5 || 5F5ORDER B id/Figure , Re9e' 7" (emi->")"n in SL 7e7
Eam$)e + - 2% - ?3 * HH ANSWER ====== V V V V V ? 7 nd ?'d %(7 7Figure ?, P'e>eden>e '@)e( eam$)e
SELECT * ANSWER COL% COL TABLE%#ROM 7a!)e% ---- ---- +---------+
WERE >")% = 5C5 A AA |COL%|COL| AND >")% = 5A5 B BB |----|----| OR >") = 5AA5 C CC |A |AA |ORDER B >")%/ |B |BB | |C |CC |SELECT * ANSWER COL% COL +---------+#ROM 7a!)e% ---- ----WERE 2>")% = 5C5 A AA AND >")% = 5A53 B BB OR >") = 5AA5 C CCORDER B >")%/ SELECT * ANSWER COL% COL
#ROM 7a!)e% ---- ----WERE >")% = 5C5 C CC AND 2>")% = 5A5 OR >") = 5AA53ORDER B >")%/Figure H, 0(e "9 OR and $a'en7e(i(
SELECT La(7name ANSWER ,(e AS ( ==================== ,CASE (e LASTNAME S1 SE11 WEN 5#5 TEN 5#EMALE5 ---------- -- ------ WEN 5M5 TEN 5MALE5 JE##ERSON M MALE ELSE N0LL JONSON # #EMALE END AS (e JONES M MALE#ROM em$)":ee
WERE )a(7name LIE 5JF5ORDER B %/Figure %&, 0(e CASE 2%(7 7:$e3 7" e$and a 8a)@e
Figure %&, CASE e$'e((i"n (:n7a - nd 7:$e
SELECT )a(7name ANSWER ,(e AS ( ==================== ,CASE LASTNAME S1 SE11 WEN (e = 5#5 TEN 5#EMALE5 ---------- -- ------ WEN (e = 5M5 TEN 5MALE5 JE##ERSON M MALE ELSE N0LL JONSON # #EMALE END AS (e JONES M MALE#ROM em$)":eeWERE )a(7name LIE 5JF5ORDER B %/
SELECT )a(7name ANSWER ,midini7 AS mi =================== ,(e AS ( LASTNAME MI S1 M1
,CASE ---------- -- -- -- WEN midini7 SE1 JE##ERSON J M M TEN midini7 JONSON P # P ELSE (e JONES T M T END AS m#ROM em$)":eeWERE )a(7name LIE 5JF5ORDER B %/Figure %&, 0(e CASE 7" di($)a: 7e i<e' "9 7G" 8a)@e(
SELECT CO0NT2*3 AS 7"7 ANSWER ,S0M2CASE (e WEN 5#5 TEN % ELSE & END3 AS 9 ========= ,S0M2CASE (e WEN 5M5 TEN % ELSE & END3 AS m TOT # M#ROM em$)":ee --- -- --WERE )a(7name LIE 5JF5/ ? % Figure %&, 0(e CASE 7" <e7 m@)7i$)e >"@n7( in "ne $a((
SELECT )a(7name ANSWER ,LEN;T2RTRIM2)a(7name33 AS )en ===================== ,S0BSTR2)a(7name,%, LASTNAME LEN LASTNM CASE ---------- --- ------ WEN LEN;T2RTRIM2)a(7name33 JE##ERSON K JE##ER H TEN H JONSON JONSO ELSE LEN;T2RTRIM2)a(7name33 JONES JONES END 3 AS )a(7nm#ROM em$)":eeWERE )a(7name LIE 5JF5ORDER B %/Figure %&K, 0(e CASE in(ide a 9@n>7i"n
0PDATE (7a99SET >"mm = CASE de$7 WEN % TEN >"mm * %.% WEN & TEN >"mm * %. WEN ? TEN CASE WEN :ea'( 4 TEN >"mm * %.? WEN :ea'( = TEN >"mm * %.
ELSE N0LL END ELSE >"mm ENDWERE >"mm IS NOT N0LL AND de$7 4 &/Figure %%&, 0PDATE (7a7emen7 Gi7 ne(7ed CASE e$'e((i"n(
WIT 7em$% 2>%,>3 AS ANSWER26AL0ES 2,K3,2,?3,2,&3,2&,%33 ========SELECT >% C% C C? ,> -- -- -- ,CASE > K K WEN & TEN N0LL ? % ELSE >%> & - END AS >? & % &#ROM 7em$%/Figure %%%, 0(e CASE 7" a8"id di8ide !: Qe'"
SELECT )a(7name ANSWER ,(e ================= ,CASE LASTNAME S1 S11 WEN (e = 5M5 TEN 5MAL5 ---------- -- --- WEN (e = 5#5 TEN 5#EM5 JE##ERSON M MAL END AS ( JONSON # #EM#ROM em$)":ee JONES M MALWERE )a(7name LIE 5JF5
ORDER B %/Figure %%, 0(e CASE 7" de'i8e a 8a)@e 2>"''e>73
SELECT )a(7name ANSWER ,(e ================= ,CASE LASTNAME S1 S11 WEN (e = 5#5 TEN 5#EM5 ---------- -- --- WEN (e = 5M5 TEN 5MAL5 JE##ERSON M #EM
END AS ( JONSON # #EM#ROM em$)":ee JONES M #EMWERE )a(7name LIE 5JF5ORDER B %/Figure %%?, 0(e CASE 7" de'i8e a 8a)@e 2in>"''e>73
,(a)a': ID DEPT SALAR COMM ,>"mm --- ---- -------- -----#ROM (7a99 %?& %&&.K& .H&WERE CASE & HH %.& - WEN >"mm 4 & TEN 5A5 ??& HH %&K.&& .& WEN name LIE 5WF5 TEN 5B5 WEN (a)a': 4 %%&&& TEN 5C5 WEN (a)a': 4 %&& AND de$7 4 ?? TEN 5D5 WEN (a)a': 4 %K&&& TEN 5E5
END IN 25A5,5C5,5E53ORDER B id/Figure %%, 0(e CASE in a $'edi>a7e
ANSWER ======================= ID DEPT SALAR COMMSELECT id --- ---- -------- -----
,name %?& %&&.K& .H& ,(a)a': & HH %.& - ,>"mm ??& HH %&K.&& .&#ROM (7a99WERE 2>"mm 4 &3 OR 2(a)a': 4 %%&&& AND NOT name LIE 5WF53 OR 2(a)a': 4 %K&&& AND NOT 2name LIE 5WF5 OR 2(a)a': 4 %&& AND de$7 4 ??333ORDER B id/Figure %%, Same (7m7 a( $'i"', Gi7"@7 CASE $'edi>a7e
Figure %%H, DECLARE C0RSOR (7a7emen7 (:n7a
DECLARE 9'ed C0RSOR #ORWIT RET0RN TO CALLERSELECT id ,name
,(a)a': ,>"mm#ROM (7a99WERE id 4 id-8a' AND (a)a': %&&&ORDER B id ASC#ETC #IRST %& ROWS ONLOPTIMIE #OR %& ROWS#OR #ETC ONLWIT 0RFigure %%, Sam$)e >@'("'
CREATE TABLE @(_>@(7"me' CREATE TABLE in7)_>@(7"me'2>@(7 INTE;ER NOT N0LL 2>@(7 INTE;ER NOT N0LL,>name CAR2%&3 NOT N0LL ,>name CAR2%&3 NOT N0LL,>"@n7': CAR2&?3 NOT N0LL ,>"@n7': CAR2&?3 NOT N0LL,CEC 2>"@n7': = 50SA53 ,CEC 2>"@n7': 4 50SA53,PRIMAR E 2>@(733/ ,PRIMAR E 2>@(733/
Figure %?, C@(7"me' 7a!)e( - 9"' in(e'7 @(a<e
INSERT INTO 2SELECT * #ROM @(_>@(7"me' 0NION ALL SELECT * #ROM in7)_>@(7"me'3
INSERT INTO ")d_(7a99 INSERT INTO neG_(7a99SELECT id, "!, (a)a': SELECT id, (a)a': %&#ROM (7a99 #ROM (7a99WERE id BETWEEN & and &/ WERE id BETWEEN ?& and &/Figure %, Sam$)e 7a!)e( 9"' me'<e
MER;E INTO ")d_(7a99 "" OLD_STA## NEW_STA##0SIN; neG_(7a99 nn +-----------------+ +----------+
MER;E INTO ")d_(7a99 "" A#TER-MER;E0SIN; neG_(7a99 nn =================
ON "".id = nn.id ID JOB SALARWEN MATCED TEN -- ----- -------- 0PDATE & Sa)e( %%%. SET 2(a)a':,"!3 = 2%?,553 ?& %?.&&WEN NOT MATCED TEN & %?.&& INSERT 2id,(a)a':,"!3 & H.K& 6AL0ES 2id,H.K,553/Figure %, Li(7in< >")@mn( and 8a)@e( in in(e'7
SET >@' = MICROSECOND2C0RRENT TIMESTAMP3/ I# >@' H&&&&& TEN 0PDATE (7a99 SET name = CAR2>@'3 WERE id = %&/ ELSEI# >@' ?&&&&& TEN 0PDATE (7a99 SET name = CAR2>@'3 WERE id = &/ ELSE
0PDATE (7a99 SET name = CAR2>@'3 WERE id = ?&/ END I#/ENDFigure %K, I# (7a7emen7 eam$)e
Figure %KH, ITERATE (7a7emen7 (:n7a
BE;IN ATOMIC DECLARE >n7' INT DE#A0LT &/ Gi)e)""$ WILE >n7' 4 H& DO SET >n7' = >n7' + %&/ 0PDATE (7a99 SET (a)a': = >n7' WERE id = >n7'/
ITERATE Gi)e)""$/ 0PDATE (7a99 SET >"mm = >n7' + % WERE id = >n7'/ END WILE/ENDFigure %K, ITERATE (7a7emen7 eam$)e
Figure %K, LEA6E (7a7emen7 (:n7a
BE;IN ATOMIC DECLARE >n7' INT DE#A0LT %/ Gi)e)""$ WILE % 4 DO SET >n7' = >n7' + %/ I# RAND23 &.KK TEN
SELECT de$7 ANSWER ,>"@n72*3 a( '"G( ==========#ROM (7a99 DEPT ROWS;RO0P B de$7 ---- -----ORDER B de$7/ %& % & ?
% HH Figure &, Li(7 de$a'7men7( in STA## 7a!)e
--SET DELIMITER IMPORTANT ============
CREATE TABLE d$7 Ti( eam$)e2de$7 SMALLINT NOT N0LL @(e( an ,name( SMALLINT a( 7e (7m7,PRIMAR E2de$733 de)imi7e'.COMMIT CREATE TRI;;ER d$7% A#TER INSERT ON d$7RE#ERENCIN; NEW AS NNN#OR EAC ROWMODE DBSLBE;IN ATOMIC DECLARE name>n7 SMALLINT DE#A0LT &/ #OR <e7name( AS SELECT CO0NT2*3 AS n
#ROM (7a99 WERE de$7 = nnn.de$7 DO
SET name>n7 = n/ END #OR/ 0PDATE d$7 SET name( = name>n7 WERE de$7 = nnn.de$7/ ANSWEREND ===========COMMIT DEPT NAMES ---- ------INSERT INTO d$7 2de$73 %& SELECT DISTINCT de$7 %
#ROM (7a99 & COMMIT ? SELECT * % #ROM d$7 HH ORDER B de$7 Figure &, T'i<<e' Gi7 >"m$"@nd SL
--SET DELIMITER IMPORTANT ============CREATE #0NCTION d$7% 2de$7in SMALLINT3 Ti( eam$)eRET0RNS SMALLINT @(e( an BE;IN ATOMIC a( 7e (7m7 DECLARE n@m_name( SMALLINT/ de)imi7e'. #OR <e7name( AS SELECT CO0NT2*3 AS n #ROM (7a99 WERE de$7 = de$7in
RET0RN SELECT de$7 ,>"@n72*3 ANSWER #ROM (7a99 =========== ;RO0P B de$7 DEPT NAMES ORDER B de$7/ ---- ------END %& COMMIT % & --SET DELIMITER / ?
SELECT * % #ROM TABLE2d$7233 T% HH ORDER B de$7/ Figure &, Ta!)e #@n>7i"n Gi7 >"m$"@nd SL
Figure &K, A6; 9@n>7i"n (:n7a
SELECT A6;2de$73 AS a% ANSWER ,A6;2ALL de$73 AS a ============== ,A6;2DISTINCT de$73 AS a? A% A A? A A ,A6;2de$7%&3 AS a -- -- -- -- -- ,A6;2de$73%& AS a % % & ? #ROM (7a99A6IN; A6;2de$73 &/Figure %&, A6; 9@n>7i"n eam$)e(
0PDATE (7a99SET >"mm = &WERE >"mm IS N0LL/ SELECT A6;2(a)a':3 AS (a)a': ANSWER ,A6;2>"mm3 AS >"mm% =================== ,A6;2CASE >"mm SALAR COMM% COMM WEN & TEN N0LL ------- ----- -----
SELECT CO0NT2*3 AS >% ANSWER ,A6;2(a)a':3 AS a% =========== ,COALESCE2A6;2(a)a':3,&3 AS a C% A% A A? ,CASE -- -- -- -- WEN A6;2(a)a':3 IS N0LL TEN & & - & & ELSE A6;2(a)a':3 END AS a?#ROM (7a99WERE id 4 %&/
SELECT CO0NT2*3 AS >% ANSWER ,CO0NT2INT2>"mm%&33 AS > ================= ,CO0NT2ALL INT2>"mm%&33 AS >? C% C C? C C CH ,CO0NT2DISTINCT INT2>"mm%&33 AS > -- -- -- -- -- -- ,CO0NT2DISTINCT INT2>"mm33 AS > ? %K ,CO0NT2DISTINCT INT2>"mm33%& AS >H#ROM (7a99/Figure %, CO0NT 9@n>7i"n eam$)e(
SELECT 5NO ;P-B5 AS >% ANSWER ,CO0NT2*3 AS > ============#ROM (7a99 C% CWERE id = -% -------- --0NION NO ;P-B &SELECT 5;RO0P-B5 AS >% ,CO0NT2*3 AS >#ROM (7a99
WERE id = -%;RO0P B de$7/Figure %K, CO0NT 9@n>7i"n Gi7 and Gi7"@7 ;RO0P B
Figure &, CO0NT_BI; 9@n>7i"n (:n7a
SELECT CO0NT_BI;2*3 AS >% ANSWER ,CO0NT_BI;2de$73 AS > =================== ,CO0NT_BI;2DISTINCT de$73 AS >? C% C C? C C ,CO0NT_BI;2DISTINCT de$7%&3 AS > --- --- --- --- --- ,CO0NT_BI;2DISTINCT de$73%& AS > ?. ?. . . &.#ROM STA##/Figure %, CO0NT_BI; 9@n>7i"n eam$)e(
ANSWER =============================== A% S% S S? S -- ------------- ---- ---- ----SELECT A6;2de$73 AS a% % +.??E+% ?. ?. .% ,STDDE62de$73 AS (% ,DEC2STDDE62de$73,?,%3 AS ( ,DEC2STDDE62ALL de$73,?,%3 AS (? ,DEC2STDDE62DISTINCT de$73,?,%3 AS (#ROM (7a99/
SELECT S0M2de$73 AS (% ANSWER ,S0M2ALL de$73 AS ( ======================== ,S0M2DISTINCT de$73 AS (? S% S S? S S ,S0M2de$7%&3 AS ( ---- ---- ---- ---- ---- ,S0M2de$73%& AS ( %K %K ?H %? %#ROM (7a99/Figure ?, S0M 9@n>7i"n eam$)e(
Figure ?K, 6ARIANCE 9@n>7i"n (:n7a
ANSWER ==============================
A% 6% 6 6? 6 -- --------------- --- --- ---SELECT A6;2de$73 AS a% % +.??&%E+ ? ? ,6ARIANCE2de$73 AS (% ,DEC26ARIANCE2de$73,,%3 AS ( ,DEC26ARIANCE2ALL de$73,,%3 AS (? ,DEC26ARIANCE2DISTINCT de$73,,%3 AS (#ROM (7a99/Figure &, 6ARIANCE 9@n>7i"n eam$)e(
AND (.id 4 K& AND 2(."! 4 (%."! OR 2(."! = (%."! AND (.id 4= (%.id33;RO0P B (%."! ,(%.id ,(%.(a)a':ORDER B (%."! ,(%.id/Figure , 0(in< Se)9-J"in and ;'"@$ B: 7" <e7 addi7i"na) 9ie)d(
SELECT (%."!, (%.id, (%.(a)a': ,2SELECT S0M2(.(a)a':3 #ROM (7a99 ( WERE (.name LIE 5F(F5 AND (.id 4 K& AND 2(."! 4 (%."! OR 2(."! = (%."! AND (.id 4= (%.id333 AS (@m(a) ,2SELECT CO0NT2*3 #ROM (7a99 (?
WERE (?.name LIE 5F(F5 AND (?.id 4 K& AND 2(?."! 4 (%."! OR 2(?."! = (%."! AND (?.id 4= (%.id333 AS '#ROM (7a99 (%WERE (%.name LIE 5F(F5 ANSWER AND (%.id 4 K& ============================ORDER B (%."! JOB ID SALAR S0MSAL R ,(%.id/ ----- -- -------- -------- -
#ROM (7a99WERE id 4 %&& AND :ea'( IS NOT N0LL ANSWERORDER B :ea'(/ =================================== ID EARS SALAR RAN DENSE ROW -- ----- -------- ----- ------ ---- ?& %&H. % % % & H %&&H.&& K& H %&&%. ? %& %?.& ?
& %H&.? ? & %%%. H H & %& &HK.& Figure , Ranin< 9@n>7i"n( eam$)e
SELECT "! ,:ea'( ,id
,name ,SMALLINT2RAN23 O6ER2ORDER B "! ASC33 AS a(>% ,SMALLINT2RAN23 O6ER2ORDER B "! ASC ,:ea'( ASC33 AS a(> ,SMALLINT2RAN23 O6ER2ORDER B "! ASC ,:ea'( ASC ,id ASC33 AS a(>? ,SMALLINT2RAN23 O6ER2ORDER B "! DESC33 AS d(>% ,SMALLINT2RAN23 O6ER2ORDER B "! DESC ,:ea'( DESC33 AS d(> ,SMALLINT2RAN23 O6ER2ORDER B "! DESC ,:ea'( DESC ,id DESC33 AS D(>? ,SMALLINT2RAN23 O6ER2ORDER B "! ASC
,:ea'( DESC ,id ASC33 AS mi% ,SMALLINT2RAN23 O6ER2ORDER B "! DESC ,:ea'( ASC ,id DESC33 AS mi#ROM (7a99WERE id 4 %& AND :ea'( IN 2H,3 AND "! 5L5ORDER B "! ,:ea'( ,id/ ANSWER
================================================================ JOB EARS ID NAME ASC% ASC ASC? DSC% DSC DSC? MI1% MI1 ----- ----- --- ------- ---- ---- ---- ---- ---- ---- ---- ---- M<' H %& #'a:e % % % H H ? M<' %& Sande'( % % H M<' %&& P)"7Q % ? Sa)e( H & O5B'ien % ? Sa)e( H K& ""ni7Q % H % Sa)e( & R"7man H H % % % ?Figure K, ORDER B @(a<e
SELECT id ,:ea'( AS :' ,(a)a': ,DENSE_RAN23 O6ER2ORDER B :ea'( ASC3 AS a ,DENSE_RAN23 O6ER2ORDER B :ea'( ASC N0LLS #IRST3 AS a9 ,DENSE_RAN23 O6ER2ORDER B :ea'( ASC N0LLS LAST 3 AS a) ,DENSE_RAN23 O6ER2ORDER B :ea'( DESC3 AS d
,DENSE_RAN23 O6ER2ORDER B :ea'( DESC N0LLS #IRST3 AS d9 ,DENSE_RAN23 O6ER2ORDER B :ea'( DESC N0LLS LAST 3 AS d)#ROM (7a99WERE id 4 %&&ORDER B :ea'( ANSWER ,(a)a':/ ================================== ID R SALAR A A# AL D D# DL -- -- -------- -- -- -- -- -- -- ?& %&H. % % H H K& H %&&%. ? & H %&&H.&& ? & %H&.? ? ? ? %& %?.& ? ? ?
& %%%. ? ? & %& &HK.& H % & - %?&.H& H % H % % H H& - %H&.?& H % H % % HFigure &, O8e''idin< 7e de9a@)7 n@)) "'de'in< (e@en>e
SELECT CO0NT2DISTINCT :ea'(3 AS :% ,MA12:3 AS :#ROM 2SELECT :ea'(
,DENSE_RAN23 O6ER2ORDER B :ea'(3 AS : #ROM (7a99 WERE id 4 %&& 3AS ANSWERORDER B %/ ======= % --- --- HFigure %, C"@n7in< di(7in>7 8a)@e( - >"m$a'i("n
SELECT id ANSWER ,:ea'( AS :' ================= ,(a)a': ID R SALAR R% ,RAN23 O6ER2PARTITION B :ea'( -- -- -------- -- ORDER B (a)a':3 AS '% ?& %&H. %#ROM (7a99 & H %&&H.&& %WERE id 4 & & %H&.? % AND :ea'( IS NOT N0LL %& %?.& ORDER B :ea'( & %%%. % ,(a)a':/ & & &HK.& %Figure , 6a)@e( 'aned !: (@!(e7 "9 '"G(
SELECT id ,:ea'( ,(a)a': ,SMALLINT2RAN23 O6ER2ORDER B :ea'( ASC33 AS 'an_a
,SMALLINT2RAN23 O6ER2ORDER B :ea'( DESC33 AS 'an_d ,SMALLINT2RAN23 O6ER2ORDER B id, :ea'(33 AS 'an_i:#ROM STA##WERE id 4 %&& AND :ea'( IS NOT N0LLORDER B :ea'(/Figure ?, M@)7i$)e 'anin<( in (ame @e':
SELECT id ,:ea'( ,name ,(a)a': ,SMALLINT2RAN23 O6ER2ORDER B S0BSTR2name,?,333 AS d@m!% ,SMALLINT2RAN23 O6ER2ORDER B (a)a': %&&&33 AS d@m! ,SMALLINT2RAN23 O6ER2ORDER B :ea'( * ID33 AS d@m!? ,SMALLINT2RAN23 O6ER2ORDER B 'and2333 AS d@m! ,SMALLINT2RAN23 O6ER2ORDER B %33 AS d@m!#ROM (7a99WERE id 4 & AND :ea'( IS NOT N0LLORDER B %/Figure , D@m! 'anin<(, SL
SELECT .* ANSWER ,RAN23O6ER2ORDER B id3 AS ' ================#ROM 2SELECT id ID NAME R% R ,name -- ------- -- -- ,RAN23 O6ER2ORDER B id3 AS '% & O5B'ien % #ROM (7a99 & ane( WERE id 4 %&& & R"7man H ? AND :ea'( IS NOT N0LL K& ""ni7Q
3AS WERE id ?&ORDER B id/Figure H, S@!(e@en7 $'">e((in< "9 'aned da7a
SELECT id ANSWER ,RAN23 O6ER2PARTITION B de$7 ================= ORDER B (a)a': DESC3 AS '% ID R% SALAR DP ,(a)a': -- -- -------- -- ,de$7 AS d$ & % &HK.& %#ROM (7a99 %& % %?.& &WERE id 4 & & % %&&H.&& ? AND :ea'( IS NOT N0LL & %%%. &ORDER B '% ASC ?& %&H. ? ,(a)a': DESC/ & %H&.? %Figure , O'de'in< '"G( !: 'an, @(in< RAN 9@n>7i"n
SELECT id ANSWER ,2SELECT CO0NT2*3 ================= #ROM (7a99 ( ID R% SALAR DP WERE (.id 4 & -- -- -------- -- AND S.EARS IS NOT N0LL & % &HK.& % AND (.de$7 = (%.de$7 %& % %?.& & AND (.(a)a': = (%.(a)a':3 AS R% & % %&&H.&& ? ,SALAR & %%%. & ,de$7 AS d$ ?& %&H. ?#ROM (7a99 (% & %H&.? %
WERE id 4 & AND :ea'( IS NOT N0LLORDER B '% ASC ,(a)a': DESC/Figure , O'de'in< '"G( !: 'an, @(in< (@!-@e':
SELECT id ANSWER ,(a)a': ==============
,de$7 AS d$ ID SALAR DP#ROM 2SELECT (%.* -- -------- -- ,RAN23 O6ER2PARTITION B de$7 & &HK.& % ORDER B (a)a': DESC3 AS '% %& %?.& & #ROM (7a99 (% & %&&H.&& ? WERE id 4 & AND :ea'( IS NOT N0LL 3AS WERE '% = %ORDER B d$/Figure K, ;e7 i<e(7 (a)a': in ea> de$a'7men7, @(e RAN 9@n>7i"n
SELECT id ANSWER ,(a)a': ============== ,de$7 AS d$ ID SALAR DP#ROM (7a99 (% -- -------- --WERE id 4 & & &HK.& % AND :ea'( IS NOT N0LL %& %?.& &
AND NOT E1ISTS & %&&H.&& ? 2SELECT * #ROM (7a99 ( WERE (.id 4 & AND (.:ea'( IS NOT N0LL AND (.de$7 = (%.de$7 AND (.(a)a': (%.(a)a':3ORDER B DP/Figure H&, ;e7 i<e(7 (a)a': in ea> de$a'7men7, @(e >"''e)a7ed (@!-@e':
SELECT id ANSWER ,(a)a': ============== ,de$7 AS d$ ID SALAR DP#ROM (7a99 -- -------- --WERE id 4 & & &HK.& % AND :ea'( IS NOT N0LL %& %?.& & AND 2de$7, (a)a':3 IN & %&&H.&& ? 2SELECT de$7, MA12(a)a':3 #ROM (7a99 WERE id 4 & AND :ea'( IS NOT N0LL ;RO0P B de$73
ORDER B d$/Figure H%, ;e7 i<e(7 (a)a': in ea> de$a'7men7, @(e @n>"''e)a7ed (@!-@e':
Figure H, N@m!e'in< #@n>7i"n (:n7a
SELECT id ANSWER ,name ================= ,ROW_N0MBER23 O6ER23 AS '% ID NAME R% R ,ROW_N0MBER23 O6ER2ORDER B id3 AS ' -- -------- -- --#ROM (7a99 %& Sande'( % %WERE id 4 & & Pe'na) AND :ea'( IS NOT N0LL ?& Ma'en<i ? ?ORDER B id/ & O5B'ien Figure H?, ORDER B eam$)e, % "9 ?
SELECT id ANSWER ,name ================= ,ROW_N0MBER23 O6ER23 AS '% ID NAME R% R ,ROW_N0MBER23 O6ER2ORDER B name3 AS ' -- -------- -- --#ROM (7a99 %& Sande'( WERE id 4 & & Pe'na) ? ?
AND :ea'( IS NOT N0LL ?& Ma'en<i % %ORDER B id/ & O5B'ien Figure H, ORDER B eam$)e, "9 ?
SELECT id ANSWER ,name ==================== ,ROW_N0MBER23 O6ER23 AS '% ID NAME R% R R? ,ROW_N0MBER23 O6ER2ORDER B ID3 AS ' -- -------- -- -- --
,ROW_N0MBER23 O6ER2ORDER B NAME3 AS '? %& Sande'( % % #ROM (7a99 & Pe'na) ?WERE id 4 & ?& Ma'en<i ? ? % AND :ea'( IS NOT N0LL & O5B'ien ORDER B id/Figure H, ORDER B eam$)e, ? "9 ?
SELECT "! ,:ea'(
,id ,name ,ROW_N0MBER23 O6ER2PARTITION B "! ORDER B :ea'(3 AS '"G ,RAN23 O6ER2PARTITION B "! ORDER B :ea'(3 AS 'n% ,DENSE_RAN23 O6ER2PARTITION B "! ORDER B :ea'(3 AS 'n#ROM (7a99WERE id 4 %& AND :ea'( IN 2H,3 ANSWER AND "! 5L5 ======================================ORDER B "! JOB EARS ID NAME ROW RN% RN
SELECT * ANSWER#ROM 2SELECT id ============= ,name ID NAME R ,ROW_N0MBER23 O6ER2ORDER B id3 AS ' -- -------- - #ROM (7a99 %& Sande'( % WERE id 4 %&& & Pe'na) AND :ea'( IS NOT N0LL ?& Ma'en<i ? 3AS WERE ' 4= ?
ORDER B id/Figure H, Se)e>7 9i'(7 ? '"G(, @(in< ROW_N0MBER 9@n>7i"n
SELECT id ANSWER ,name ============= ,ROW_N0MBER23 O6ER2ORDER B id3 AS ' ID NAME R#ROM (7a99 -- -------- -WERE id 4 %&& %& Sande'( %
AND :ea'( IS NOT N0LL & Pe'na) ORDER B id ?& Ma'en<i ?#ETC #IRST ? ROWS ONL/Figure H, Se)e>7 9i'(7 ? '"G(, @(in< #ETC #IRST n"7a7i"n
SELECT * ANSWER#ROM 2SELECT id ============= ,name ID NAME R ,ROW_N0MBER23 O6ER2ORDER B id3 AS ' -- -------- -
#ROM (7a99 ?& Ma'en<i ? WERE id 4 && & O5B'ien AND :ea'( IS NOT N0LL & ane( 3AS & R"7man HWERE ' BETWEEN ? AND HORDER B id/Figure HK, Se)e>7 ?'d 7'"@< H7 '"G(
SELECT * ANSWER#ROM 2SELECT id ============== ,name ID NAME R ,ROW_N0MBER23 O6ER2ORDER B id3 AS ' --- ------- -- #ROM (7a99 %& Sande'( % WERE id 4 && & R"7man H AND :ea'( IS NOT N0LL %& #'a:e %% 3AS %K& Sneide' %HWERE 2' - %3 = 22' - %3 3 * ORDER B id/Figure &, Se)e>7 e8e': 7 ma7>in< '"G
SELECT *#ROM 2SELECT id ,name ,ROW_N0MBER23 O6ER2ORDER B id DESC3 AS ' #ROM (7a99 WERE id 4 &&
AND :ea'( IS NOT N0LL ANSWER 3AS ==============WERE ' 4= ID NAME RORDER B id/ --- -------- - %& A!'aam( %K& Sneide' %Figure %, Se)e>7 )a(7 7G" '"G(
WIT7em$%2:ea'(, id, name, 'n, '"G3 AS 2SELECT :ea'( ,id ,name ,RAN23 O6ER2ORDER B :ea'(3 ,ROW_N0MBER23 O6ER2ORDER B :ea'(, id3 #ROM (7a99 WERE id 4 && AND :ea'( IS NOT N0LL3,7em$2'n3 AS 2SELECT 'n #ROM 7em$%
WERE '"G = ? ANSWER3 ==========================SELECT 7em$%.* EARS ID NAME RN ROW#ROM 7em$% ----- --- -------- --- --- ,7em$ ? %& A!'aam( % %WERE 7em$%.'n 4= 7em$.'n %& e'mi(> ORDER B :ea'( ?& Ma'en<i ? ? ,id/ %%& N<an ? Figure , Se)e>7 9i'(7 n '"G(, "' m"'e i9 needed
CREATE TABLE in8"i>e2in8 INTE;ER NOT N0LL,>@(7"me' INTE;ER NOT N0LL,(a)e_da7e DATE NOT N0LL,(a)e_8a)@e DECIMAL2K,3 NOT N0LL,CONSTRAINT >7% PRIMAR E 2in83,CONSTRAINT >7 CEC2in8 = &33/Figure ?, Pe'9"'man>e 7e(7 7a!)e - de9ini7i"n
INSERT INTO in8"i>eWIT 7em$ 2n,m3 AS26AL0ES 2INTE;ER2&3,RAND2%33 0NION ALL SELECT n+%, RAND23 #ROM 7em$ WERE n+% 4 &&&&&
3SELECT n AS in8 ,INT2m * %&&&3 AS >@(7"me' ,DATE25&&&-%%-&%53 + 2m*&3 DAS AS (a)e_da7e ,DECIMAL22m * m * %&&3,,3 AS (a)e_8a)@e#ROM 7em$/Figure , Pe'9"'man>e 7e(7 7a!)e - in(e'7 &&,&&& '"G(
SELECT id ,name ,(a)a': ,S0M2(a)a':3 O6ER23 AS (@m% ,S0M2(a)a':3 O6ER2ORDER B id * &3 AS (@m ,S0M2(a)a':3 O6ER2ORDER B 5ABC53 AS (@m? ,S0M2(a)a':3 O6ER2ORDER B 5ABC5 RAN;E BETWEEN 0NBO0NDED PRECEDIN; AND 0NBO0NDED #OLLOWIN;3 AS (@m#ROM (7a99WERE id 4 H&ORDER B id/
,(a)a': ,S0M2(a)a':3 O6ER2ORDER B de$73 AS (@m% ,S0M2(a)a':3 O6ER2ORDER B de$7 DESC3 AS (@m ,S0M2(a)a':3 O6ER2ORDER B de$7, NAME3 AS (@m? ,S0M2(a)a':3 O6ER2ORDER B de$7 DESC, name DESC3 AS (@m ,CO0NT2*3 O6ER2ORDER B de$73 AS '"G% ,CO0NT2*3 O6ER2ORDER B de$7, NAME3 AS '"G#ROM (7a99WERE id 4 H&ORDER B de$7 ,name/Figure , A<<'e<a7i"n 9@n>7i"n, "'de' !: @(a<e, SL
SELECT de$7 ,name ,:ea'( ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$733 AS d ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name33 AS dn ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name ROWS 0NBO0NDED PRECEDIN;33AS dn@ ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name
ROWS ? PRECEDIN;33 AS dn? ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name ROWS % PRECEDIN;33 AS dn% ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name ROWS & PRECEDIN;33 AS dn& ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name ROWS C0RRENT ROW33 AS dn> ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7 DESC, name DESC ROWS % PRECEDIN;33 AS dn#ROM (7a99
WERE id 4 %&& AND :ea'( IS NOT N0LLORDER B de$7 ,name/Figure K, S7a'7in< ROWS @(a<e. Im$)ied end i( >@''en7 '"G, SL
% ane( %& % %& %& %& %& %& %& % % R"7man % % % % % % & Pe'na) ? % % & Sande'( ? ? ? ? % % ? Ma'en<i ? ? ? % %% ? O5B'ien H ? ? ? H %% H H % ""ni7Q H K K K % H H HFigure K&, S7a'7in< ROWS @(a<e. Im$)ied end i( >@''en7 '"G, An(Ge'
SELECT de$7 ,name ,:ea'( ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name33 AS @>% ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name ROWS 0NBO0NDED PRECEDIN;33 AS @> ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name ROWS BETWEEN 0NBO0NDED PRECEDIN; AND C0RRENT ROW33 AS @>? ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name ROWS BETWEEN C0RRENT ROW AND C0RRENT ROW33 AS >@% ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name
ROWS BETWEEN % PRECEDIN; AND % #OLLOWIN;33 AS $9% ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name ROWS BETWEEN PRECEDIN; AND #OLLOWIN;33 AS $9 ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name ROWS BETWEEN ? PRECEDIN; AND ? #OLLOWIN;33 AS $9? ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name ROWS BETWEEN C0RRENT ROW AND 0NBO0NDED #OLLOWIN;33 AS >@% ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7, name ROWS BETWEEN 0NBO0NDED PRECEDIN;
AND 0NBO0NDED #OLLOWIN;33 AS @@%#ROM (7a99WERE id 4 %&& AND :ea'( IS NOT N0LLORDER B de$7 ,name/Figure K%, ROWS @(a<e, Gi7 BETWEEN $'a(e, SL
DEPT NAME EARS 0C% 0C 0C? C0% P#% P# P#? C0% 00%---- -------- ----- --- --- --- --- --- --- --- --- --- % ane( %& %& %& %& %& % ? K K % R"7man % % % ? ? ?K K & Pe'na) ? ? ? K & Sande'( ? ? ? & ?? K K ? Ma'en<i ? ? ? % ? ?K % K ? O5B'ien H ? ? ? H % ? % K ""ni7Q H K K K H % % H KFigure K, ROWS @(a<e, Gi7 BETWEEN $'a(e, An(Ge'
SELECT id ,name ,SMALLINT2S0M2id3 O6ER2ORDER B id ASC ROWS BETWEEN % PRECEDIN; AND C0RRENT ROW33 AS a$> ,SMALLINT2S0M2id3 O6ER2ORDER B id ASC ROWS BETWEEN C0RRENT ROW AND % #OLLOWIN;33 AS a>9
,SMALLINT2S0M2id3 O6ER2ORDER B id DESC ROWS BETWEEN % PRECEDIN; AND C0RRENT ROW33 AS d$> ,SMALLINT2S0M2id3 O6ER2ORDER B id DESC ROWS BETWEEN C0RRENT ROW AND % #OLLOWIN;33 AS d>9#ROM (7a99WERE id 4 & AND :ea'( IS NOT N0LL ANSWERORDER B id/ =========================== ID NAME APC AC# DPC DC# -- -------- --- --- --- --- %& Sande'( %& ?& ?& %&
& Pe'na) ?& & & ?& ?& Ma'en<i & & & & & O5B'ien & & & &Figure K?,BETWEEN and ORDER B @(a<e
,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7 ROWS BETWEEN % PRECEDIN; AND C0RRENT ROW33 AS '"G% ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7 ROWS BETWEEN PRECEDIN; AND C0RRENT ROW33 AS '"G ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7 RAN;E BETWEEN % PRECEDIN; AND C0RRENT ROW33 AS '<&% ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7 RAN;E BETWEEN %& PRECEDIN; AND C0RRENT ROW33 AS '<%& ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7 RAN;E BETWEEN & PRECEDIN;
AND C0RRENT ROW33 AS '<& ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7 RAN;E BETWEEN %& PRECEDIN; AND & #OLLOWIN;33 AS '<%% ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7 RAN;E BETWEEN C0RRENT ROW AND & #OLLOWIN;33 AS '<KK#ROM (7a99WERE id 4 %&& AND :ea'( IS NOT N0LLORDER B de$7 ,name/Figure K, RAN;E @(a<e, SL
? O5B'ien H %% % %% %% H % % ""ni7Q H % % H % % % HFigure KH, RAN;E @(a<e, An(Ge'
SELECT de$7
,name ,:ea'( ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$733 AS ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7 ROWS ? PRECEDIN;33 AS "? ,SMALLINT2S0M2:ea'(3 O6ER2ORDER B de$7 ROWS BETWEEN % PRECEDIN; AND % #OLLOWIN;33 AS "%% ,SMALLINT2S0M2:ea'(3 O6ER2PARTITION B de$733 AS $ ,SMALLINT2S0M2:ea'(3 O6ER2PARTITION B de$7 ORDER B de$733 AS $" ,SMALLINT2S0M2:ea'(3 O6ER2PARTITION B de$7 ORDER B de$7
ROWS % PRECEDIN;33 AS $"% ,SMALLINT2S0M2:ea'(3 O6ER2PARTITION B de$7 ORDER B de$7 ROWS ? PRECEDIN;33 AS $"? ,SMALLINT2S0M2:ea'(3 O6ER2PARTITION B de$7 ORDER B de$7 ROWS BETWEEN % PRECEDIN; AND % #OLLOWIN;33 AS $"%%#ROM (7a99WERE id BETWEEN & AND %& AND :ea'( IS NOT N0LLORDER B de$7 ,name/Figure K, PARTITION @(a<e, SL
DEPT NAME EARS 1 1O? 1O%% P PO PO% PO? PO%%----- ------- ----- ---- ---- ---- ---- ---- ---- ---- ---- % ane( %& %& % %& %& % % N<an % % % % R"7man % % % ? O5B'ien H %K H H H H H ""ni7Q H % %K %? %? H H %?
WERE id BETWEEN & AND %& ? H H % AND :ea'( IS NOT N0LL %? H ;RO0P B de$7/Figure KK, Sam$)e @e': @(in< ;RO0P B
SELECT de$7 ANSWER ,S0M2:ea'(3 O6ER2PARTITION B de$73 AS (@m ================= ,A6;2:ea'(3 O6ER2PARTITION B de$73 AS a8< DEPT S0M A6; ROW ,CO0NT2*3 O6ER2PARTITION B de$73 AS '"G ----- --- --- ---#ROM (7a99 % ?WERE id BETWEEN & AND %& % ? AND :ea'( IS NOT N0LL % ?ORDER B de$7/ ? H H % %? H %? H Figure ?&&, Sam$)e @e': @(in< PARTITION
SELECT DISTINCT de$7 ANSWER ,S0M2:ea'(3 O6ER2PARTITION B de$73 AS (@m ================= ,A6;2:ea'(3 O6ER2PARTITION B de$73 AS a8< DEPT S0M A6; ROW ,CO0NT2*3 O6ER2PARTITION B de$73 AS '"G ----- --- --- ---#ROM (7a99 % ?WERE id BETWEEN & AND %& ? H H % AND :ea'( IS NOT N0LL %? H ORDER B de$7/Figure ?&%, Sam$)e @e': @(in< PARTITION and DISTINCT
SELECT name ANSWER ,CAR2name,?3 ===================================== ,>"mm NAME COMM ,CAR2>"mm3 ------- --- ------- -------- -------- ,CAR2>"mm,5X53 Jame( Jam %.& &&%.& &&%X&#ROM (7a99 ""ni7Q "" %?H.& &%?H.& &%?HX&WERE id BETWEEN & P)"7Q P)" - - - AND %&&ORDER B id/Figure ?%?, CAR 9@n>7i"n eam$)e( - >a'a>7e'( and n@m!e'(
ANSWER ========================================== INT CAR_INT CAR_#LT CAR_DEC -------- -------- ----------- ------------WIT 7em$% 2n3 AS ? ? ?.&E& &&&&&&&&&&?.26AL0ES 2?3 K K K.&E& &&&&&&&&&&K. 0NION ALL % % .%E% &&&&&&&&&%. SELECT n * n HH% HH% H.H%E? &&&&&&&HH%. #ROM 7em$% ?&H% ?&H% .?&H%E &&&?&H%. WERE n 4 K&&&
3SELECT n AS in7 ,CAR2INT2n33 AS >a'_in7 ,CAR2#LOAT2n33 AS >a'_9)7 ,CAR2DEC2n33 AS >a'_de>#ROM 7em$%/Figure ?%, CAR 9@n>7i"n eam$)e( - $"(i7i8e n@m!e'(
WIT 7em$% 2n%, n3 AS ANSWER26AL0ES 2SMALLINT2+?3 =================================== ,SMALLINT2-33 N% I% I D% D 0NION ALL ------ ----- ------ ------- ------- SELECT n% * n ? ? +? &&&&?. +&&&&?. ,n -% -% -% -&&&%. -&&&%. #ROM 7em$% % % +% &&%. +&&%. WERE n% 4 ?&& -%&K -%&K -%&K -&%&K. -&%&K.3 &? &? +&? &&?. +&&?.SELECT n% ,CAR2n%3 AS i% ,CASE WEN n% 4 & TEN CAR2n%3
ELSE 5+5 CONCAT CAR2n%3 END AS i ,CAR2DEC2n%33 AS d% ,CASE WEN n% 4 & TEN CAR2DEC2n%33 ELSE 5+5 CONCAT CAR2DEC2n%33 END AS d#ROM 7em$%/Figure ?%, A)i<n CAR 9@n>7i"n "@7$@7 - n@m!e'(
ANSWER ==========SELECT CAR2C0RRENT DATE,ISO3 AS i(" == &&-%%-?& ,CAR2C0RRENT DATE,E0R3 AS e@' == ?&.%%.&& ,CAR2C0RRENT DATE,JIS3 AS i( == &&-%%-?& ,CAR2C0RRENT DATE,0SA3 AS @(a == %%?&&&#ROM (:(i!m.(:(d@mm:%/Figure ?%H, CAR 9@n>7i"n eam$)e( - da7e 8a)@e
ANSWER ========SELECT CAR2C0RRENT TIME,ISO3 AS i(" == %K..% ,CAR2C0RRENT TIME,E0R3 AS e@' == %K..% ,CAR2C0RRENT TIME,JIS3 AS i( == %K% ,CAR2C0RRENT TIME,0SA3 AS @(a == & PM#ROM (:(i!m.(:(d@mm:%/Figure ?%, CAR 9@n>7i"n eam$)e( - 7ime 8a)@e
SELECT d ANSWER ,CAR2d3 AS >d ================ ,DI;ITS2d3 AS dd D CD DD#ROM 2SELECT DEC2d%,,%3 AS d ---- ------ ---- #ROM (>a)a' -. -&&. && 3AS &.& &&&.& &&&&ORDER B %/ %. &&%. &&%Figure ?%K, DI;ITS 8(. CAR
SELECT 5A5 AS > ANSWER ,ASCII25A53 AS >n ================= ,CR2ASCII25A533 AS >n> C CN CNC NL ,CR2???3 AS n) - --- ----- --#ROM (7a99 A H A YWERE id = %&/
SELECT id ANSWER ,>"mm ================== ,COALESCE2>"mm,&3 ID COMM ?#ROM (7a99 -- ------ ------WERE id 4 ?& %& - &.&&ORDER B id/ & H%. H%.Figure ?, COALESCE 9@n>7i"n eam$)e
WIT 7em$%2>%,>,>?3 AS ANSWER26AL0ES 2CAST2N0LL AS SMALLINT3 ======== ,CAST2N0LL AS SMALLINT3 CC% CC ,CAST2%& AS SMALLINT333 --- ---SELECT COALESCE2>%,>,>?3 AS >>% %& %& ,CASE
WEN >% IS NOT N0LL TEN >% WEN > IS NOT N0LL TEN > WEN >? IS NOT N0LL TEN >? END AS >>#ROM TEMP%/Figure ??, COALESCE and e@i8a)en7 CASE e$'e((i"n
WIT 7em$%2n%,n,>%,>3 AS ANSWER26AL0ES 2%? ========================== ,%E DEC% DEC DEC? DEC ,5%?.5 ----- ------ ------ ------ ,5HU533 %?. %&&.& %?. H.SELECT DEC2n%,?3 AS de>%
,DEC2n,,%3 AS de> ,DEC2>%,,%3 AS de>? ,DEC2>,,%,5U53 AS de>#ROM 7em$%/Figure ?, DECIMAL 9@n>7i"n eam$)e(
Figure ??, DECRPT 9@n>7i"n (:n7a
SELECT id ,name ,DECRPT_CAR2name,5CL0ELESS53 AS name? ,;ETINT2name3 AS in7 ,name#ROM 2SELECT id ,name ,ENCRPT2name,5CL0ELESS5,5M BOSS53 AS name #ROM (7a99
WERE id 4 ?& 3AS ORDER B id/Figure ?, DECRPT_CAR 9@n>7i"n eam$)e
SELECT a.name AS n% ANSWER ,SO0NDE12a.name3 AS (% ============================== ,!.name AS n N% S% N S D#
,SO0NDE12!.name3 AS ( ------- ---- --------- ---- -- ,DI##ERENCE Sande'( S?H Sneide' S?H 2a.name,!.name3 AS d9 Sande'( S?H Smi7 S?& ?#ROM (7a99 a Sande'( S?H L@nd@i(7 L? ,(7a99 ! Sande'( S?H Danie)( D %WERE a.id = %& Sande'( S?H M")ina'e MH % AND !.id %& Sande'( S?H S>"@77en S?& % AND !.id 4 & Sande'( S?H A!'aam( A%H &ORDER B d9 DESC Sande'( S?H e'mi(> H & ,n ASC/ Sande'( S?H L@ L&&& &Figure ?, DI##ERENCE 9@n>7i"n eam$)e
SELECT @% ,S0BSTR2'e8e'(e2CAR2@%33,,&3 AS @#ROM 2SELECT E12;ENERATE_0NI0E233 AS @% #ROM STA## WERE ID 4 &3 AS ORDER B 0/Figure ?, ;ENERATE_0NI0E "@7$@7, >a'a>7e'( 'e8e'(ed @(in< 9@n>7i"n
SELECT id ,name ,;ETINT2name3 AS in7#ROM 2SELECT id ,name ,ENCRPT2name,5TAT IDIOT5,5M BROTER53 AS name #ROM (7a99 WERE id 4 ?& ANSWER 3AS =====================
ORDER B id/ ID NAME INT -- ------- ---------- %& Sande'( M BROTER & Pe'na) M BROTERFigure ?, ;ETINT 9@n>7i"n eam$)e
SELECT ASED6AL0E2id3 AS 8a)@e ANSWER#ROM (7a99 ======
WERE id = %&/ 6AL0E ------ &Figure ?H, ASED6AL0E 9@n>7i"n eam$)e
WIT 7em$%2n%3 AS ANSWER26AL0ES 2-?3 =============================== 0NION ALL S S1 D1 #1
SELECT CO0NT2*3 AS '"G( == %&&&&& ,CO0NT2DISTINCT 'an3 AS 8a)@e( == ?% ,DEC2A6;2'an3,,H3 AS a8<_'an == &.KK? ,DEC2STDDE62'an3,,H3 AS (7d_de8 &.&H ,DEC2MIN2'an3,,H3 AS min_'an &.&&&&&& ,DEC2MA12'an3,,H3 AS ma_'an %.&&&&&& ,DEC2MA12'an3,,H3 - DEC2MIN2'an3,,H3 AS 'an<e %.&&&&&& ,DEC26AR2'an3,,H3 AS 8a'ian>e &.&??%#ROM 7em$/
Figure ?K&, Sam$)e "@7$@7 9'"m RAND 9@n>7i"n
SELECT de$7n" AS dn" ANSWER ,RAND2&3 AS 'an ===========================#ROM de$a'7men7 DNO RANWERE de$7n" 4 5E5 --- ----------------------ORDER B %/ A&& +%.%K&??H&&KE-&&? B&% +.??HE-&&%
ANSWERS ================================SELECT n% AS de> = %?HK&.%?HK&%?HK&% ,DO0BLE2n%3 AS d!) = %.?HK&%?He+&&K ,REAL2n%3 AS 'e) = %.?He+&&K
,INTE;ER2n%3 AS in7 = %?HK& ,BI;INT2n%3 AS !i< = %?HK&#ROM 2SELECT %?HK&.%?HK&%?HK&% AS n% #ROM (7a99 WERE id = %&3 AS /Figure ?K, REAL and "7e' n@me'i> 9@n>7i"n eam$)e(
Figure ?KK, REPEAT 9@n>7i"n (:n7a
SELECT id ANSWER ,CAR2REPEAT2name,?3,&3 ===========================#ROM (7a99 ID WERE id 4 & -- ------------------------ORDER B id/ %& Sande'(Sande'(Sande'( & Pe'na)Pe'na)Pe'na) ?& Ma'en<iMa'en<iMa'en<iFigure &&, REPEAT 9@n>7i"n eam$)e
Figure &%, REPLACE 9@n>7i"n (:n7a
SELECT >% ANSWER ,REPLACE2>%,5AB5,5153 AS '% ====================== ,REPLACE2>%,5BA5,5153 AS ' C% R% R#ROM (>a)a'/ ------ ------ ------ ABCDE# 1CDE# ABCDE# ABCD 1CD ABCD AB 1 ABFigure &, REPLACE 9@n>7i"n eam$)e(
,2 ?.H3 &.&H &.&H& &.%&& &.&&& &.&&& &.&&& ,2 .&H33SELECT d% ,DEC2RO0ND2d%,+3,H,?3 AS $ ,DEC2RO0ND2d%,+%3,H,?3 AS $% ,DEC2RO0ND2d%,+&3,H,?3 AS $& ,DEC2RO0ND2d%,-%3,H,?3 AS n% ,DEC2RO0ND2d%,-3,H,?3 AS n#ROM 7em$%/Figure &, RO0ND 9@n>7i"n eam$)e(
SELECT >% ANSWER ,RTRIM2>%3 AS '% ====================== ,LEN;T2>%3 AS ' C% R% R R? ,LEN;T2RTRIM2>%33 AS '? ------ ------ -- --#ROM (>a)a'/ ABCDE# ABCDE# H H ABCD ABCD H AB AB H Figure &H, RTRIM 9@n>7i"n eam$)e
SELECT name ANSWER ,LEN;T2name3 AS )en ===========================
,S0BSTR2name,3 AS (% NAME LEN S% L% S L ,LEN;T2S0BSTR2name,33 AS )% -------- --- ---- -- --- -- ,S0BSTR2name,,?3 AS ( Sande'( e'( ? e'( ? ,LEN;T2S0BSTR2name,,?33 AS ) Pe'na) H a) a) ?#ROM (7a99 Ma'en<i n<i n< ?WERE id 4 H&/ O5B'ien ien ? ien ? ane( ( % ( ?Figure %K, S0BSTR 9@n>7i"n - 9ied )en<7 "@7$@7 i9 7i'd $a'm. @(ed
SELECT a.id ANSWER ,a.de$7 ========================= ,a.(a)a': ID DEPT SALAR DEPTSAL ,!.de$7(a) -- ---- -------- --------#ROM (7a99 a %& & %?.& HH.%& ,TABLE & & %%%. HH.%& 2SELECT !.de$7 ?& ? %&H. . ,S0M2!.(a)a':3 AS de$7(a) #ROM (7a99 ! WERE !.de$7 = a.de$7 ;RO0P B !.de$7 3AS !WERE a.id 4 &
ORDER B a.id/Figure &, #@))-(e)e>7 Gi7 e7e'na) 7a!)e 'e9e'en>e
D% POS POS% ERO NE;% NE; ------- ------- ------- ------- ------- -------WIT 7em$%2d%3 AS %?.&& %?.&& %?.&& %?.&&& %&.&&& %&&.&&&26AL0ES 2%?.&&3 ?.& ?.& ?.&& ?.&&& &.&&& &.&&& ,2 ?.&3 ?.H ?.& ?.&& ?.&&& &.&&& &.&&& ,2 ?.H3 &.&H &.&& &.&&& &.&&& &.&&& &.&&& ,2 .&H33SELECT d% ,DEC2TR0NC2d%,+3,H,?3 AS $"( ,DEC2TR0NC2d%,+%3,H,?3 AS $"(% ,DEC2TR0NC2d%,+&3,H,?3 AS Qe'" ,DEC2TR0NC2d%,-%3,H,?3 AS ne<% ,DEC2TR0NC2d%,-3,H,?3 AS ne<#ROM 7em$%
ORDER B % DESC/Figure ?%, TR0NCATE 9@n>7i"n eam$)e(
SELECT name ANSWER ,LCASE2name3 AS )name ========================= ,0CASE2name3 AS @name NAME LNAME 0NAME#ROM (7a99 ------- ------- -------WERE id 4 ?&/ Sande'( (ande'( SANDERS
SELECT >% ANSWER ,LEN;T2>%3 AS )% ======================== ,6ARCAR2>%3 AS 8 C% L% 6 L 6? ,LEN;T26ARCAR2>%33 AS ) ------ -- ------ -- ---- ,6ARCAR2>%,3 AS 8? ABCDE# H ABCDE# H ABCD
SELECT WEE2DATE25&&&-&%-&%533 AS G% ANSWER ,WEE2DATE25&&&-&%-&533 AS G ================== ,WEE2DATE25&&%-&%-&533 AS G? W% W W? W W ,WEE2DATE25&&&-%-?%533 AS G -- -- -- -- -- ,WEE2DATE25&&-%-?%533 AS G % % ?#ROM (:(i!m.(:(d@mm:%/Figure ?, WEE 9@n>7i"n eam$)e(
WIT ANSWER7em$% 2n3 AS ========================== 26AL0ES 2&3 DTE D W D WI DI 0NION ALL ---------- --- -- -- -- -- SELECT n+% %KK-%- S@n ? % #ROM 7em$% %KK-%- M"n ? ? % WERE n 4 %&3, %KK-%-K T@e ? ? ? 7em$ 2d73 AS %KK-%-?& Wed ? ? ?
2SELECT DATE25%KK-%-53 + :.n EARS %KK-%-?% T@ ? ? + d.n DAS %KKK-&%-&% #'i % H ? #ROM 7em$% : %KKK-&%-& Sa7 % ? H ,7em$% d %KKK-&%-&? S@n % ? WERE :.n IN 2&,33 %KKK-&%-& M"n % %SELECT CAR2d7,ISO3 d7e %KKK-&%-& T@e ? % ,S0BSTR2DANAME2d73,%,?3 d: %KKK-&%-&H Wed % ? ,WEE2d73 G &&&-%- Wed ? ? ,DAO#WEE2d73 d: &&&-%- T@ ? ,WEE_ISO2d73 Gi &&&-%-K #'i ? H ,DAO#WEE_ISO2d73 di &&&-%-?& Sa7 ? H#ROM 7em$ &&&-%-?% S@n % ORDER B %/ &&%-&%-&% M"n % % %
&&&H%.&Figure H, Made name an a77'i!@7e "9 em$)":ee
Figure , 1MLSERIALIE 9@n>7i"n (:n7a
SELECT id ANSWER ,1MLSERIALIE2CONTENT ================== 1MLELEMENT2NAME De$7, de$73 ID 1MLDATA AS CAR2?&33 AS m)da7a -- ---------------#ROM (7a99 & &WERE id BETWEEN & AND ?& ?& ?ORDER B id/Figure , 1MLSERIALIE 9@n>7i"n eam$)e
SELECT de$7 AS d$ ,1MLSERIALIE2CONTENT 1MLA;;2 1MLELEMENT2NAME Nm, name3 ORDER B id3 AS CAR2&33 AS m)da7a ANSWER
#ROM (7a99 ==================================WERE de$7 4 ?& DP 1MLDATA AND id 4 & -- -------------------------------;RO0P B de$7 % ane(R"7manORDER B de$7/ & Sande'(Pe'na)Figure %, 1MLA;; 9@n>7i"n eam$)e
SELECT 1MLSERIALIE2CONTENT
1MLA;;2 1MLELEMENT2NAME Nm, name3 ORDER B name3 AS CAR2&33 AS m)da7a#ROM (7a99WERE de$7 4 ?& AND id 4 &/ 1MLDATA ------------------------------------------------------------ ane(Pe'na)R"7manSande'(Figure , 1MLA;; 9@n>7i"n eam$)e
Figure ?, 1MLCONCAT 9@n>7i"n (:n7a
SELECT id ,1MLSERIALIE2CONTENT 1MLCONCAT2
1MLELEMENT2NAME d$, de$73 ,1MLELEMENT2NAME nm, name3 3 AS CAR2&33 AS m)da7a ANSWER#ROM (7a99 ==============================WERE de$7 4 ?& ID 1MLDATA AND id 4 & -- ---------------------------ORDER B id/ %& &Sande'( & &Pe'na) & %ane(Figure , 1MLCONCAT 9@n>7i"n eam$)e
SELECT 1MLSERIALIE2CONTENT 1MLELEMENT2NAME Em$, 1MLATTRIB0TES2name AS Nm, de$73 3 AS 6ARCAR2%&&33 AS m)da7a#ROM (7a99 ANSWERWERE de$7 4 ?& ================================== AND id 4 H&ORDER B de$7
SELECT 1MLSERIALIE2CONTENT 1ML#OREST2name AS Nm, de$7 AS d$, >"mm3 AS 6ARCAR2%&&33 AS m)da7a#ROM (7a99WERE id IN 2%&,&3ORDER B id DESC/ ANSWER =============================================== Pe'na)&&&H%. Sande'(&Figure H&, 1ML#OREST 9@n>7i"n eam$)e
Figure H%, 1MLNAMESPACES 9@n>7i"n (:n7a
SELECT 1MLSERIALIE2CONTENT 1ML#OREST2 1MLNAMESPACES2DE#A0LT 577$7%.>"m5 , 577$7.>"m5 AS 7 , 577$7?.>"m5 AS 7?3 ,name AS nm, (a)a': AS (a)3 AS 6ARCAR2?&&33 AS m)da7a#ROM (7a99WERE id = &/ ANSWER 2)ine !'ea(inden7a7i"n added3 =========================================== Pe'na) %%%.Figure H, 1MLNAMESPACES 9@n>7i"n eam$)e
SELECT de$7 ANSWER ,name ==================== ,>"mm DEPT NAME COMM#ROM (7a99 ---- ------- -------WERE de$7 4 ?& % ane( - AND id 4 %&& % R"7man %%.&&ORDER B de$7 & Jame( %.&
1MLELEMENT2NAME C"mm, >"mm3 3 AS 6ARCAR2%&&33#ROM (7a99WERE de$7 4 ?& AND id 4 %&&ORDER B de$7 ,name/ ANSWER ===================================================================
#ROM 2SELECT 5ABC5 AS >% ,%?.H AS n% ,%?H AS n ,TIMESTAMP25&&-&K-%-.??..%?H53 AS 7% #ROM (7a99 WERE id = %& 3AS / ANSWER 2)ine-!'ea(inden7a7i"n added3 ======================================
AS CAR2&33 AS "@7da7a#ROM (7a99WERE de$7 4 ?& ANSWER AND id 4 %&& =================================ORDER B de$7
,name/ % R"7man&%%.&&& Jame(&&%.&& Pe'na)&&H%.
Figure HK, C"n>a7ena7i"n d"ne !e9"'e 1ML 9@n>7i"n
SELECT 1MLSERIALIE2CONTENT 1MLELEMENT2NAME Em$, 1MLATTRIB0TES2name3, de$7, >"mm3 3 AS CAR2%&&33 AS m)da7a#ROM (7a99WERE de$7 4 ?& ANSWER
AND id 4 %&& ====================================ORDER B de$7 % ,name/ %&%%.&& &&&%.& &&&H%. &Figure &, One e)emen7, "ne a77'i!@7e, 7G" da7a-i7em(
SELECT 1MLSERIALIE2CONTENT
1MLELEMENT2NAME Em$, 1MLATTRIB0TES2name, de$7, >"mm3 3 AS 6ARCAR2%&&33 AS m)da7a#ROM (7a99WERE de$7 4 ?& AND id 4 %&&ORDER B de$7 ANSWER ,name/ ====================================================
Figure %, One e)emen7, 7'ee a77'i!@7e(, n" da7a-i7em(
SELECT 1MLSERIALIE2CONTENT 1MLELEMENT2NAME Em$, 1MLATTRIB0TES2name AS Nm, de$7 AS D$7, >"mm3 3 AS 6ARCAR2%&&33 AS m)da7a
#ROM (7a99WERE de$7 4 ?& ANSWER AND id 4 %&& =================================================ORDER B de$7
,name/
Figure , A((i<n name( 7" a77'i!@7e(
SELECT 1MLSERIALIE2CONTENT 1MLELEMENT2NAME D$7, 1MLATTRIB0TES2de$73, 1MLA;;2 1MLELEMENT2NAME Em$, 1MLELEMENT2NAME Nm, name3, 1MLELEMENT2NAME Cm, >"mm33 ORDER B id3
3 AS 6ARCAR2?&&33 AS m)da7a#ROM (7a99WERE de$7 4 ?& AND id 4 %&&;RO0P B de$7/ ANSWER 2)ine-!'ea(inden7a7i"n added3 ===============================================
SELECT REC1ML2%.&, 5COLATT6AL5, 5'"G5, de$7, name, >"mm3 AS 77#ROM (7a99WERE id BETWEEN ?& AND &ORDER B de$7 ,name/ ANSWER 2)ine-!'ea(inden7a7i"n added3 ============================================
SELECT id AS ID ANSWER ,DI;ITS2id3 AS I ============== ,di<i_in72id3 AS I? ID I I?#ROM (7a99 -- ----- -----WERE id 4 & %& &&&%& &&&%&ORDER B id/ & &&&& &&&& ?& &&&?& &&&?&
SELECT id AS id ====== ,'e7@'n(_Qe'"23 AS QQ ID #ROM (7a99 -- --WERE id = %&/ %& &Figure K, Sim$)e 9@n>7i"n @(a<e
CREATE #0NCTION >a)>2in8a) SMALLINT3 RET0RNS INT RET0RN in8a) * %&/CREATE #0NCTION >a)>2in8a) INTE;ER3 RET0RNS INT RET0RN in8a) * /
SELECT id AS id ANSWER ,>a)>2SMALLINT2id33 AS >% ========== ,>a)>2INTE;ER 2id33 AS C ID C% C#ROM (7a99 -- --- ---WERE id 4 ?& %& %&& &ORDER B id/ & && %&& DROP #0NCTION >a)>2SMALLINT3/DROP #0NCTION >a)>2INTE;ER3/Figure K&, TG" 9@n>7i"n( Gi7 (ame name
RET0RN SELECT (a)a': #ROM (7a99 WERE id = in8a)/ ANSWER ===========SELECT id AS id ID SALAR ,<e7_(a)2id3 AS (a)a': -- --------#ROM (7a99 %& %?.&WERE id 4 & & %%%.ORDER B id/ ?& %&H.Figure K, #@n>7i"n @(in< @e':
CREATE #0NCTION ma_(a)2in8a) SMALLINT3RET0RNS DECIMAL2,3RET0RN WIT ddd 2ma_(a)3 AS 2SELECT MA12S.(a)a':3 #ROM (7a99 S% ,(7a99 S WERE S%.id = in8a) AND S%.de$7 = (.de$73 ,::: 2ma_(a)3 AS 2SELECT MA12S.(a)a':3
#ROM (7a99 S% ,(7a99 S WERE S%.id = in8a) AND S%.:ea'( = (.:ea'(3SELECT CASE WEN ddd.ma_(a) :::.ma_(a) TEN ddd.ma_(a) ELSE :::.ma_(a) END#ROM ddd, :::/ ANSWERSELECT id AS id ==================== ,(a)a': AS SAL% ID SAL% SAL
,ma_(a)2id3 AS SAL -- -------- --------#ROM (7a99 %& %?.& KK.&WERE id 4 & & %%%. %?.&ORDER B id/ ?& %&H. %KH&.Figure K?, #@n>7i"n @(in< >"mm"n 7a!)e e$'e((i"n
CREATE #0NCTION 'em"8e_e2in(7' 6ARCAR2&33RET0RNS 6ARCAR2&3RET0RN 'e$)a>e2in(7',5e5,553/ 0PDATE (7a99SET name = 'em"8e_e2name3WERE id 4 &/Figure K, #@n>7i"n @(ed in @$da7e
--SET DELIMITER IMPORTANT ============CREATE #0NCTION 'e8e'(e2in(7' 6ARCAR2&33 Ti( eam$)eRET0RNS 6ARCAR2&3 @(e( an BE;IN ATOMIC a( 7e (7m7 DECLARE "@7(7' 6ARCAR2&3 DE#A0LT 55/ de)imi7e'. DECLARE >@'!:7e SMALLINT DE#A0LT &/ SET >@'!:7e = LEN;T2RTRIM2in(7'33/ WILE >@'!:7e = % DO SET "@7(7' = "@7(7' || S0BSTR2in(7',>@'!:7e,%3/ SET >@'!:7e = >@'!:7e - %/ END WILE/
RET0RN "@7(7'/END
ANSWERSELECT id AS id ==================== ,name AS name% ID NAME% NAME ,'e8e'(e2name3 AS name -- -------- -------#ROM (7a99 %& Sande'( ('ednaSWERE id 4 & & Pe'na) )an'ePORDER B id ?& Ma'en<i i<ne'aMFigure K, #@n>7i"n @(in< >"m$"@nd SL
--SET DELIMITER IMPORTANT ============CREATE #0NCTION >e>_)en2in(7' 6ARCAR2&33 Ti( eam$)eRET0RNS SMALLINT @(e( an BE;IN ATOMIC a( 7e (7m7 I# in(7' IS N0LL TEN de)imi7e'. RET0RN N0LL/ END I#/ I# )en<72in(7'3 4 H TEN SI;NAL SLSTATE 5&&%5
SET MESSA;E_TE1T = 5In$@7 (7'in< i( 4 H5/ ELSEI# )en<72in(7'3 4 TEN RET0RN -%/ END I#/ RET0RN )en<72in(7'3/ ANSWEREND ================= ID NAME% NAMESELECT id AS id -- -------- ----- ,name AS name% %& Sande'( ,>e>_)en2name3 AS name & Pe'na) -%
#ROM (7a99 ?& Ma'en<i WERE id 4 H& & O5B'ien ORDER B idFigure KH, #@n>7i"n Gi7 e''"' >e>in< )"<i>
,R SMALLINT3RET0RN SELECT id ,name ,:ea'( ANSWER #ROM (7a99/ ============== ID NAME RSELECT * -- -------- --#ROM TABLE2<e7_(7a99233 AS ( %& Sande'( WERE id 4 & & Pe'na) ORDER B id/ ?& Ma'en<i Figure K, Sim$)e 7a!)e 9@n>7i"n
DAS2em(7da7e3 AS da:( & %K-&H-% %K-&-&% %H#ROM em$_a>7 a>7 & %K-&?-&% %K-&-% WERE em$n" = 5&&&H&5 AND $'"n" = 5AD?%%?5 AND a>7n" 4 %&& AND em$7ime = &.ORDER B a>7n"/Figure %, Se)e>7 a>7i8i7: (7a'7 Z end da7e
SELECT a>7n" ANSWER ,da:( ========================== ,n@m ACTNO DAS N0M NEW_DATE ,em(7da7e + n@m DAS AS neG_da7e ----- ----- --- ----------#ROM 2SELECT a>7n" & %H & %K-&H-% ,em(7da7e & %H % %K-&H-%H ,emenda7e & %H %K-&H-% ,DAS2emenda7e3 - & %H ? %K-&H-% DAS2em(7da7e3 AS da:( & %H %K-&H-%K #ROM em$_a>7 a>7 & %H %K-&H-& WERE em$n" = 5&&&H&5 & %H H %K-&H-% AND $'"n" = 5AD?%%?5 & %H %K-&H-
AB : |AB |1 | AB 1 |A! |% | +---------+Figure ?, Sim$)e ORDER B
SELECT >")% ANSWER ,>") =========#ROM (e_da7a COL% COLORDER B TRANSLATE2>")%3 ASC ---- ---- ,TRANSLATE2>")3 ASC A! % a! : AB 1 AB : a> 1Figure , Ca(e in(en(i7i8e ORDER B
SELECT >") ANSWER#ROM (e_da7a ======ORDER B >")% COL ,>")/ ---- : 1 % : 1Figure , ORDER B "n n"7-di($)a:ed >")@mn
SELECT >")% ANSWER ,>") =========#ROM (e_da7a COL% COLORDER B S0BSTR2>")%,3 DESC ---- ---- ,>") a> 1 ,%/ AB : AB 1 A! %
a! :Figure H, ORDER B (e>"nd !:7e "9 9i'(7 >")@mn
SELECT >")% ANSWER ,E12>")%3 AS e% =================== ,>") COL% E1% COL E1 ,E12>")3 AS e ---- ---- ---- ----#ROM (e_da7a AB % 1 K
ORDER B E12>")%3 AB % : K ,E12>")3 A! %H % ?%? a! H%H : K a> H%H? 1 KFigure , ORDER B in !i7-da7a (e@en>e
SELECT >")% ANSWER SE_DATA#ROM 2SELECT >")% ====== +---------+ #ROM (e_da7a COL% |COL%|COL| ORDER B >") ---- |----+----| 3 AS A! |a! |: |ORDER B ORDER O# / a! |AB |: | AB |a> |1 | a> |AB |1 | AB |A! |% | +---------+Figure , ORDER B ne(7ed ORDER B
SELECT * ANSWER#ROM 2SELECT * ========= #ROM 2SELECT * COL% COL #ROM (e_da7a ---- ---- ORDER B >") A! % 3AS a! : ORDER B ORDER O# AB : ,S0BSTR2>")%,3 AB 1 3AS ::: a> 1
ORDER B ORDER O# ::: ,>")%/Figure K, M@)7i$)e ne(7ed ORDER B (7a7emen7(
SELECT em$n" ANSWER ,$'"n" AS $' ================= ,a>7n" AS a>7 EMPNO PRJ ACT R ,ROW_N0MBER23 O6ER23 AS ' ------ --- --- --
#ROM #INAL TABLE &&&&& KKK % 2INSERT INTO em$_a>7 2em$n", $'"n", a>7n"3 &&&&& 666 %%% 6AL0ES 25&&&&&5,55,KKK3 ,25&&&&&5,56665,%%%33ORDER B INP0T SE0ENCE/Figure ?&, ORDER B in(e'7 in$@7 (e@en>e
;RO0P B ROLL0P 2di8i(i"n, de$a'7men7, 7eam3Figure ??, T'ee Ga:( 7" G'i7e 7e (ame ;RO0P B
CREATE 6IEW em$)":ee_8ieG AS ANSWERSELECT S0BSTR2G"'de$7,%,%3 AS d% ================== ,G"'de$7 AS de$7 D% DEPT SE1 SALAR ,(e AS (e -- ---- --- ------ ,INTE;ER2(a)a':3 AS (a)a': A A&& # &#ROM em$)":ee A A&& M K&
WERE G"'de$7 4 5D&5/ A A&& M H&&COMMIT/ B B&% M %& C C&% # ?&& C C&% # & C C&% # ?& D D%% # %?&SELECT * D D%% # &#ROM em$)":ee_8ieG D D%% # K&ORDER B %,,?,/ D D%% M %& D D%% M && D D%% M H& D D%% M & D D%% M &
SELECT d%, de$7, (e ANSWER ,S0M2(a)a':3 AS (a)a': ========================
,SMALLINT2CO0NT2*33 AS '"G( D% DEPT SE1 SALAR ROWS#ROM em$)":ee_8ieG -- ---- --- ------ -----WERE de$7 4 5ABC5 A A&& # & %;RO0P B d%, de$7, (e A A&& M & A6IN; de$7 5A&5 B B&% M %& % AND 2S0M2(a)a':3 %&& C C&% # K&& ? OR MIN2(a)a':3 %& D D%% # ??& ? OR CO0NT2*3 4 3 D D%% M %H& HORDER B d%, de$7, (e/Figure ?, Sim$)e ;RO0P B
SELECT (e ANSWER ,S0M2(a)a':3 AS (a)a': ================ ,SMALLINT2CO0NT2*33 AS '"G( SE1 SALAR ROWS#ROM em$)":ee_8ieG --- ------ -----WERE (e IN 25#5,5M53 # & %;RO0P B de$7 # K&& ? ,(e # ??& ?ORDER B (e/ M & M %& % M %H& HFigure ?H, ;RO0P B "n n"n-di($)a:ed 9ie)d
SELECT S0M2(a)a':3 AS (a)a': ANSWER ,SMALLINT2CO0NT2*33 AS '"G( ============#ROM em$)":ee_8ieG SALAR ROWSWERE d% 4 515 ------ -----;RO0P B S0BSTR2de$7,?,%3 %&& ?A6IN; CO0NT2*3 4 KK/ ??& %?Figure ?, ;RO0P B "n de'i8ed 9ie)d, n"7 ("Gn
SELECT S0BSTR2de$7,?,%3 AS G$a'7 ANSWER ,S0M2(a)a':3 AS (a)a': ================== ,SMALLINT2CO0NT2*33 AS '"G( WPART SALAR ROWS#ROM em$)":ee_8ieG ----- ------ -----;RO0P B S0BSTR2de$7,?,%3 % ??& %?ORDER B G$a'7 DESC/ & %&& ?Figure ?, ;RO0P B "n de'i8ed 9ie)d, ("Gn
;RO0P B ;RO0PIN; SETS 22A,B,C33 i( e@i8a)en7 7" ;RO0P B A ,B ,C
;RO0P B ;RO0PIN; SETS 2A,B,C3 i( e@i8a)en7 7" ;RO0P B A 0NION ALL ;RO0P B B 0NION ALL ;RO0P B C ;RO0P B ;RO0PIN; SETS 2A,2B,C33 i( e@i8a)en7 7" ;RO0P B A 0NION ALL ;RO0P B B ,B CFigure ?K, ;RO0PIN; SETS in $a'en7e(i( 8(. n"7
;RO0P B ;RO0PIN; SETS 2A3 i( e@i8a)en7 7" ;RO0P B A ,;RO0PIN; SETS 2B3 ,B ,;RO0PIN; SETS 2C3 ,C ;RO0P B ;RO0PIN; SETS 2A3 i( e@i8a)en7 7" ;RO0P B A ,;RO0PIN; SETS 22B,C33 ,B ,C ;RO0P B ;RO0PIN; SETS 2A3 i( e@i8a)en7 7" ;RO0P B A ,;RO0PIN; SETS 2B,C3 ,B
0NION ALL ;RO0P B A ,CFigure &, M@)7i$)e ;RO0PIN; SETS
;RO0P B A i( e@i8a)en7 7" ;RO0P B A ,;RO0PIN; SETS 22B,C33 ,B ,C
Figure %, Sim$)e ;RO0P B e$'e((i"n and ;RO0PIN; SETS >"m!ined
;RO0P B A i( e@i8a)en7 7" ;RO0P B A ,B ,B ,;RO0PIN; SETS 22B,C33 ,C ;RO0P B A i( e@i8a)en7 7" ;RO0P B A ,B ,B
,;RO0PIN; SETS 2B,C3 ,C 0NION ALL ;RO0P B A ,B ;RO0P B A i( e@i8a)en7 7" ;RO0P B A ,B ,B ,C ,C ,;RO0PIN; SETS 2B,C3 0NION ALL ;RO0P B A
,B ,CFigure , Miin< (im$)e ;RO0P B e$'e((i"n( and ;RO0PIN; SETS
;RO0P B ;RO0PIN; SETS 22A,B,C3 i( e@i8a)en7 7" ;RO0P B A ,2A,B3 ,B ,2C33 ,C 0NION ALL
;RO0P B A ,B 0NION ALL ;RO0P B C ;RO0P B ;RO0PIN; SETS 22A3 i( e@i8a)en7 7" ;RO0P B A ,2B,C3 0NION ALL ,2A3 ;RO0P B B ,A ,C ,22C333 0NION ALL ;RO0P B A 0NION ALL ;RO0P B A 0NION ALL
;RO0P B CFigure ?, ;RO0PIN; SETS Gi7 m@)7i$)e >"m$"nen7(
;RO0P B ;RO0PIN; SETS 22A,B,C3 i( e@i8a)en7 7" ;RO0P B A ,2A,B3 ,B ,2A3 ,C ,233 0NION ALL ;RO0P B A
,Bi( e@i8a)en7 7" 0NION ALL ;RO0P B A 0NION ALLROLL0P2A,B,C3 <'and-7"7)Figure , ;RO0PIN; SET Gi7 m@)7i$)e >"m$"nen7(, @(in< <'and-7"7a)
;RO0P B ;RO0PIN; SETS 22A,B,C3 i( e@i8a)en7 7" ;RO0P B A
,2A,B3 ,B ,2A,C3 ,C ,2B,C3 0NION ALL ,2A3 ;RO0P B A ,2B3 ,B ,2C3 0NION ALL ,233 ;RO0P B A ,C 0NION ALL ;RO0P B B
i( e@i8a)en7 7" ,C 0NION ALL ;RO0P B A 0NION ALLC0BE2A,B,C3 ;RO0P B B 0NION ALL ;RO0P B C 0NION ALL <'and-7"7)Figure , ;RO0PIN; SET Gi7 m@)7i$)e >"m$"nen7(, @(in< <'and-7"7a)
SELECT d% ANSWER ,de$7 ============================== ,(e D% DEPT SE1 SAL R D# W# S# ,S0M2(a)a':3 AS (a) -- ---- --- ------ -- -- -- -- ,SMALLINT2CO0NT2*33 AS ' A A&& # & % & & & ,;RO0PIN;2d%3 AS 9% A A&& M & & & & ,;RO0PIN;2de$73 AS 9d B B&% M %& % & & & ,;RO0PIN;2(e3 AS 9( C C&% # K&& ? & & &#ROM em$)":ee_8ieG D D%% # ??& ? & & &;RO0P B ;RO0PIN; SETS 2d%3 D D%% M %H& H & & & ,;RO0PIN; SETS 22de$7,(e33
ORDER B d% ,de$7 ,(e/Figure H, M@)7i$)e ;RO0PIN; SETS, main< "ne ;RO0P B
SELECT d% ANSWER ,de$7 ============================== ,(e D% DEPT SE1 SAL R #% #D #S
,S0M2(a)a':3 AS (a) -- ---- --- ------ -- -- -- -- ,SMALLINT2CO0NT2*33 AS ' A A&& - %&& ? & & % ,;RO0PIN;2d%3 AS 9% A - # & % & % & ,;RO0PIN;2de$73 AS 9d A - M & & % & ,;RO0PIN;2(e3 AS 9( B B&% - %& % & & %#ROM em$)":ee_8ieG B - M %& % & % &;RO0P B ;RO0PIN; SETS 2d%3 C C&% - K&& ? & & % ,;RO0PIN; SETS 2de$7,(e3 C - # K&& ? & % &ORDER B d% D D%% - %&& K & & % ,de$7 D - # ??& ? & % & ,(e/ D - M %H& H & % &Figure , M@)7i$)e ;RO0PIN; SETS, main< 7G" ;RO0P B 'e(@)7(
SELECT d% ANSWER ,de$7 ============================== ,(e D% DEPT SE1 SAL R #% #D #S ,S0M2(a)a':3 AS (a) ------------------------------ ,SMALLINT2CO0NT2*33 AS ' A A&& # & % & & &
,;RO0PIN;2d%3 AS 9% A A&& M & & & & ,;RO0PIN;2de$73 AS 9d B B&% M %& % & & & ,;RO0PIN;2(e3 AS 9( C C&% # K&& ? & & &#ROM em$)":ee_8ieG D D%% # ??& ? & & &;RO0P B d% D D%% M %H& H & & & ,de$7 ,;RO0PIN; SETS 22de$7,(e33ORDER B d% ,de$7 ,(e/Figure , Re$ea7ed 9ie)d e((en7ia)): i<n"'ed
SELECT d% ANSWER ,de$7 ============================== ,(e D% DEPT SE1 SAL R #% #D #S ,S0M2(a)a':3 AS (a) ------------------------------ ,SMALLINT2CO0NT2*33 AS ' A A&& # & % & & & ,;RO0PIN;2d%3 AS 9% A A&& M & & & & ,;RO0PIN;2de$73 AS 9d A A&& - %&& ? & & % ,;RO0PIN;2(e3 AS 9( B B&% M %& % & & &#ROM em$)":ee_8ieG B B&% - %& % & & %;RO0P B d% C C&% # K&& ? & & &
,DEPT C C&% - K&& ? & & % ,;RO0PIN; SETS 2de$7,(e3 D D%% # ??& ? & & &ORDER B d% D D%% M %H& H & & & ,de$7 D D%% - %&& K & & % ,(e/Figure K, Re$ea7ed 9ie)d im$a>7( @e': 'e(@)7
;RO0P B d% i( e@i8a)en7 7" ;RO0P B d%
,de$7 ,de$7 ,;RO0PIN; SETS 22de$7,(e33 (e
;RO0P B d% i( e@i8a)en7 7" ;RO0P B d% ,de$7 ,de$7 ,;RO0PIN; SETS 2de$7,(e3 (e 0NION ALL ;RO0P B d% ,de$7 ,de$7Figure &, Re$ea7ed 9ie)d im$a>7( @e': 'e(@)7
SELECT d% ANSWER ,de$7 ============================== ,(e D% DEPT SE1 SAL R #% #D #S ,INT2S0M2(a)a':33 AS (a) ------------------------------ ,SMALLINT2CO0NT2*33 AS ' A A&& # & % & & & ,;RO0PIN;2d%3 AS 9% A A&& M & & & & ,;RO0PIN;2de$73 AS 9d B B&% M %& % & & & ,;RO0PIN;2(e3 AS 9( C C&% # K&& ? & & &#ROM em$)":ee_6IEW D D%% # ??& ? & & &
;RO0P B C0BE22d%, de$7, (e33 D D%% M %H& H & & &ORDER B d% - - - ?& %H % % % ,de$7 ,(e/Figure , C0BE "n >"m$"@nd 9ie)d(
;RO0P B C0BE22A,B,C33 = ;RO0P B ;RO0IN; SETS22A,B,C3 = ;RO0P B A ,233 ,B ,C 0NION ALL ;RO0P B23Figure H, C0BE "n >"m$"@nd 9ie)d, e$)ana7i"n
SELECT d% AS d% ANSWER ,de$7 AS d$7 ================== ,(e AS ( D% DPT S1 SAL R ,INT2S0M2(a)a':33 AS (a) -- --- -- ------ - ,SMALLINT2CO0NT2*33 AS ' A A&& # & %#ROM em$)":ee_6IEW A A&& M & ;RO0P B d% B B&% M %& % ,de$7 C C&% # K&& ? ,(e D D%% # ??& ?ORDER B %,,?/ D D%% M %H& HFigure , Ba(i> ;RO0P B eam$)e
DESIRED S0B-TOTALS E0I6ILENT TO================== =====================================D%, DEPT, and SE1. ;RO0P B ;RO0PIN; SETS 22d%,de$7,(e3D% and DEPT. ,2d%,de$73D% and SE1. ,2d%,(e3D%. ,2d%3SE1. ,2(e3;'and 7"7a). E0I6ILENT TO ,233 ======================= ;RO0P B ROLL0P2d%,de$73
,ROLL0P2(e3Figure , S@!-7"7a)( 7a7 Ge Gan7 7" <e7
SELECT *#ROM 2SELECT d% AS d% ,de$7 AS d$7 ,(e AS ( ,INT2S0M2(a)a':33 AS (a)
SELECT d% ANSWER ,de$7 ===================== ,(e D% DEPT SE1 SAL R ,INT2S0M2(a)a':33 AS (a) -- ---- --- ------ -- ,SMALLINT2CO0NT2*33 AS ' A A&& # & %#ROM em$)":ee_8ieG A A&& M & ;RO0P B ROLL0P2d%,de$73 A A&& - %&& ? ,ROLL0P2(e3 A - # & %ORDER B %,,?/ A - M & A - - %&& ? B B&% M %& % B B&% - %& %
SELECT 8%.* 4== Ti( "in <e7( a)) ,8.* '"G( in STA##_6%#ROM (7a99_8% 8% 7a7 ma7> '"G( ,(7a99_8 8 in STA##_6.WERE 8%.id = 8.id0NIONSELECT 8%.* 4== Ti( @e': <e7( ,CAST2N0LL AS SMALLINT3 AS id a)) 7e '"G( in
,CAST2N0LL AS CAR233 AS "! STA##_6% Gi7 n"#ROM (7a99_8% 8% ma7>in< '"G(WERE 8%.id NOT IN in STA##_6. 2SELECT id #ROM (7a99_83ORDER B %,/Figure H&, Le97 O@7e' J"in SL 2 "9 3
SELECT * ANSWER#ROM (7a99_8% 8% ====================RI;T O0TER JOIN ID NAME ID JOB (7a99_8 8 -- -------- -- -----ON 8%.id = 8.id & Pe'na) & Sa)e(ORDER B 8.id ?& Ma'en<i ?& C)e' ,8."!/ ?& Ma'en<i ?& M<' - - & Sa)e(
- - & M<'Figure H&K, Ri<7 O@7e' J"in SL 2% "9 3
SELECT 8%.* ANSWER ,8.* ====================#ROM (7a99_8% 8% ID NAME ID JOB ,(7a99_8 8 -- -------- -- -----WERE 8%.id = 8.id & Pe'na) & Sa)e(
0NION ?& Ma'en<i ?& C)e'SELECT CAST2N0LL AS SMALLINT3 AS id ?& Ma'en<i ?& M<' ,CAST2N0LL AS 6ARCAR2K33 AS name - - & Sa)e( ,8.* - - & M<'#ROM (7a99_8 8WERE 8.id NOT IN 2SELECT id #ROM (7a99_8%3ORDER B ?,/Figure H%&, Ri<7 O@7e' J"in SL 2 "9 3
,8.* ====================#ROM (7a99_8% 8% ID NAME ID JOB ,(7a99_8 8 -- -------- -- -----WERE 8%.id = 8.id %& Sande'( - -0NION & Pe'na) & Sa)e(SELECT 8%.* ?& Ma'en<i ?& C)e' ,CAST2N0LL AS SMALLINT3 AS id ?& Ma'en<i ?& M<' ,CAST2N0LL AS CAR233 AS "! - - & Sa)e(#ROM (7a99_8% 8% - - & M<'WERE 8%.id NOT IN 2SELECT id #ROM (7a99_830NIONSELECT CAST2N0LL AS SMALLINT3 AS id
,CAST2N0LL AS 6ARCAR2K33 AS name ,8.*#ROM (7a99_8 8WERE 8.id NOT IN 2SELECT id #ROM (7a99_8%3ORDER B %,?,/Figure H%?, #@)) O@7e' J"in SL
SELECT 8."! ANSWER ,CO0NT2*3 AS '"G( ===========#ROM (7a99_8% 8% JOB ROWS ,(7a99_8 8 ----- -----;RO0P B 8."! C)e' ?ORDER B '"G( M<' H ,8."!/ Sa)e( H
Figure H?&, Pa'7ia) Ca'7e(ian P'"d@>7 SL, Gi7 ;RO0P B
SELECT COALESCE28%.id,8.id3 AS id ANSWER ,COALESCE28%.name,553 AS name ================= ,8."! ID NAME JOB#ROM (7a99_8% 8% -- -------- -----#0LL O0TER JOIN %& Sande'( - (7a99_8 8 & Pe'na) Sa)e(
ON 8%.id = 8.id ?& Ma'en<i C)e'ORDER B 8%.id ?& Ma'en<i M<' ,8."!/ & Sa)e( & M<'Figure H?%, 0(e "9 COALESCE 9@n>7i"n in "@7e' "in
STA##_6% STA##_6 ANSWER+-----------+ +---------+ NON-MATCIN; ===================|ID|NAME | |ID|JOB | O0TER-JOIN ID NAME ID JOB
SELECT 8%.* 4== ;e7 a)) 7e '"G( ,CAST2N0LL AS SMALLINT3 AS id in STA##_6% 7a7 ,CAST2N0LL AS CAR233 AS "! a8e n" ma7>in<#ROM (7a99_8% 8% '"G in STA##_6.WERE 8%.id NOT IN 2SELECT id #ROM (7a99_830NIONSELECT CAST2N0LL AS SMALLINT3 AS id 4== ;e7 a)) 7e '"G( ,CAST2N0LL AS 6ARCAR2K33 AS name in STA##_6 7a7 ,8.* a8e n" ma7>in<#ROM (7a99_8 8 '"G in STA##_6%.WERE 8.id NOT IN
ANSWER ANSWER ANSWER=========== =========== ===========TA TB TC TA TB TC TA TB TC--- --- --- --- --- --- --- --- ---n" '"G( A A A A A AFigure H%, Li(7 "9 8a)@e( in TC 4 T%A 8a)@e
SELECT * ANSWER TABLE% TABLE#ROM 7a!)e% ======= +-------+ +-----------+WERE NOT E1ISTS n" '"G( |T%A|T%B| |TA|TB|TC| 2SELECT * |---|---| |---|---|---| #ROM 7a!)e |A |AA | |A |A |A | WERE 7> 4 7%a |B |BB | |B |A | - | OR 7> IS N0LL3/ |C |CC | +-----------+ +-------+ - = n@))Figure H, NOT E1ISTS - (ame a( ALL
SELECT * +-------+ - = n@))#ROM 7a!)e% 7%WERE NOT E1ISTS 2SELECT * ANSWER #ROM 7a!)e 7 ======= WERE 7%.7%a = 7.7>3/ T%A T%B --- ---SELECT * B BB#ROM 7a!)e% C CCWERE 7%a NOT IN 2SELECT 7> #ROM 7a!)e WERE 7> IS NOT N0LL3/
C C C D EFigure HKH, Eam$)e( "9 0ni"n, E>e$7, and In7e'(e>7
Figure HK, 0ni"n, E>e$7, and In7e'(e>7 (:n7a
CREATE 6IEW R% 2R%3 AS 6AL0ES 25A53,25A53,25A53,25B53,25B53,25C53,25C53,25C53,25E53/CREATE 6IEW R 2R3 AS 6AL0ES 25A53,25A53,25B53,25B53,25B53,25C53,25D53/ ANSWER
======SELECT R% R% R#ROM R% -- --ORDER B R%/ A A A ASELECT R A B#ROM R B BORDER B R/ B B C C C D C EFigure HK, @e': (am$)e 8ieG(
SELECT R% R% R 0NION 0NION ALL#ROM R% -- -- ===== =========0NION A A A ASELECT R A A B A#ROM R A B C AORDER B %/ B B D A B B E A C C B
SELECT R% C D B#ROM R% C B0NION ALL E BSELECT R B#ROM R CORDER B %/ C C C D EFigure HKK, 0ni"n and 0ni"n A)) SL
SELECT R% R% R INTERSECT INTERSECT ALL#ROM R% -- -- ========= =============INTERSECT A A A ASELECT R A A B A#ROM R A B C BORDER B %/ B B B
B B CSELECT R% C C#ROM R% C DINTERSECT ALL CSELECT R E#ROM RORDER B %/Figure &&, In7e'(e>7 and In7e'(e>7 A)) SL
SELECT R% R% R%#ROM R% E1CEPT E1CEPT ALLE1CEPT R% R R RSELECT R -- -- ===== ==========#ROM R A A E AORDER B %/ A A C A B CSELECT R% B B E#ROM R% B BE1CEPT ALL C CSELECT R C D#ROM R CORDER B %/ EFigure &%, E>e$7 and E>e$7 A)) SL 2R% "n 7"$3
SELECT R R R#ROM R E1CEPT E1CEPT ALLE1CEPT R% R R% R%SELECT R% -- -- ===== ==========#ROM R% A A D BORDER B %/ A A D
A BSELECT R B B#ROM R B BE1CEPT ALL C CSELECT R% C D#ROM R% CORDER B %/ EFigure &, E>e$7 and E>e$7 A)) SL 2R "n 7"$3
SELECT R% 2SELECT R% SELECT R% R% R#ROM R% #ROM R% #ROM R% -- --0NION 0NION 0NION A ASELECT R SELECT R 2SELECT R A A#ROM R #ROM R #ROM R A BE1CEPT 3E1CEPT E1CEPT B BSELECT R SELECT R SELECT R B B#ROM R #ROM R #ROM R C CORDER B %/ ORDER B %/ 3ORDER B %/ C D
C EANSWER ANSWER ANSWER====== ====== ======E E A B C EFigure &?, 0(e "9 $a'en7e(i( in 0ni"n
CREATE TABLE (a)e(_da7a_&&2(a)e(_da7e DATE NOT N0LL,dai):_(e INTE;ER NOT N0LL,>@(7_id INTE;ER NOT N0LL,am"@n7 DEC2%&,3 NOT N0LL,in8"i>e INTE;ER NOT N0LL,(a)e(_'e$ CAR2%&3 NOT N0LL,CONSTRAINT C CEC 2EAR2(a)e(_da7e3 = &&3,PRIMAR E 2(a)e(_da7e, dai):_(e33/ CREATE TABLE (a)e(_da7a_&&?2(a)e(_da7e DATE NOT N0LL
,dai):_(e INTE;ER NOT N0LL,>@(7_id INTE;ER NOT N0LL,am"@n7 DEC2%&,3 NOT N0LL,in8"i>e INTE;ER NOT N0LL,(a)e(_'e$ CAR2%&3 NOT N0LL,CONSTRAINT C CEC 2EAR2(a)e(_da7e3 = &&?3,PRIMAR E 2(a)e(_da7e, dai):_(e33/ CREATE 6IEW (a)e(_da7a ASSELECT *#ROM (a)e(_da7a_&&0NION ALLSELECT *
========================== =================================== 0SERE#RES MAINTAINED-B RE#RES-A;E MAINTAINED-TPE MT========= ============== =========== ===================== ===IMMEDIATE SSTEM - - e(DE#ERRED SSETM AN ALL "' SSTEM e(DE#ERRED 0SER AN ALL "' 0SER e(DE#ERRED #EDERATED-TOOL AN ALL "' #EDERATED-TOOL e(Figure &, Wen DB Gi)) >"n(ide' @(in< a ma7e'ia)iQed @e': 7a!)e
SELECT C0RRENT RE#RES A;E AS a<e_7( ,C0RRENT TIMESTAMP AS >@''en7_7( ,C0RRENT 0ER OPTIMIATION AS _"$7#ROM (:(i!m.(:(d@mm:%/Figure %, Se)e>7in< ($e>ia) 'e<i(7e'(
CREATE TABLE (7a99_name( AS 2SELECT de$7
,CO0NT2*3 AS >"@n7_'"G( ,S0M2(a)a':3 AS (@m_(a)a': ,A6;2(a)a':3 AS a8<_(a)a': ,MA12(a)a':3 AS ma_(a)a': ,MIN2(a)a':3 AS min_(a)a': ,STDDE62(a)a':3 AS (7d_(a)a': ,6ARIANCE2(a)a':3 AS 8a'_(a)a': ,C0RRENT TIMESTAMP AS )a(7_>an<e #ROM (7a99 WERE TRANSLATE2name3 LIE 5FAF5 AND (a)a': %&&&& ;RO0P B de$7 A6IN; CO0NT2*3 = %
,DEC2S0M2em$.(a)a':3,,3 AS (@m_(a) ,MA12em$.(a)a':3 AS ma_(a) ,SMALLINT2CO0NT2*33 AS em$( #ROM em$)":ee em$ ;RO0P B em$.G"'de$7 3AS 111;RO0P B em$(A6IN; CO0NT2*3 %ORDER B em$(#ETC #IRST ? ROWS ONL
CREATE TABLE de$7_em$_(@mma': AS 2SELECT em$.G"'de$7 ,d$7.de$7name ,CO0NT2*3 AS n@m_'"G( ,CO0NT2em$.(a)a':3 AS n@m_(a)a': ,S0M2em$.(a)a':3 AS (@m_(a)a': ,CO0NT2em$.>"mm3 AS n@m_>"mm ,S0M2em$.>"mm3 AS (@m_>"mm
SELECT d.de$7name ,d.de$7n" ,DEC2A6;2e.(a)a':3,,3 AS a8<_(a) ,SMALLINT2CO0NT2*33 AS em$(#ROM de$a'7men7 d ,em$)":ee eWERE e.G"'de$7 = d.de$7n" AND d.de$7name LIE 5FSF5;RO0P B d.de$7name ,d.de$7n"
SELECT .UC& AS de$7name ,.UC% AS de$7n" ,.UC AS a8<_(a) ,.UC? AS em$(#ROM 2SELECT %.de$7name AS UC&
,%.G"'de$7 AS UC% ,DEC22%.(@m_(a)a': %.n@m_(a)a':3,,3 AS UC ,SMALLINT2%.n@m_'"G(3 AS UC? #ROM de$7_em$_(@mma': AS % WERE 2%.de$7name LIE 5FSF53 AND 2&&& 4 %.(@m_>"mm3 3AS ORDER B .UC DESC/Figure ?, DB <ene'a7ed @e': 7" @(e ma7e'ia)iQed @e': 7a!)e
CREATE TABLE d$7_em$_a>7_(@m': AS 2SELECT em$.G"'de$7 ,d$7.de$7name ,em$.em$n" ,em$.9i'(7nme ,S0M2a>7.em$7ime3 AS (@m_7ime ,CO0NT2a>7.em$7ime3 AS n@m_7ime ,CO0NT2*3 AS n@m_'"G( #ROM de$a'7men7 d$7 ,em$)":ee em$ ,em$_a>7 a>7
WERE d$7.de$7n" = em$.G"'de$7 AND em$.em$n" = a>7.em$n" ;RO0P B em$.G"'de$7 ,d$7.de$7name ,em$.em$n" ,em$.9i'(7nme3DATA INITIALL DE#ERRED RE#RES IMMEDIATE/Figure ?, T'ee-7a!)e ma7e'ia)iQed @e': 7a!)e DDL
SELECT d.de$7n" ,d.de$7name ,DEC2A6;2a.em$7ime3,,3 AS a8<_7ime#ROM de$a'7men7 d ,em$)":ee e ,em$_a>7 aWERE d.de$7n" = e.G"'de$7 AND e.em$n" = a.em$n" AND d.de$7name LIE 5FSF5
AND e.9i'(7nme LIE 5FSF5;RO0P B d.de$7n" ,d.de$7nameORDER B ? DESC/Figure ?K, @e': 7a7 @(e( ma7e'ia)iQed @e': 7a!)e
SELECT .UC& AS de$7n" ,.UC% AS de$7name ,.UC AS a8<_7ime
#ROM 2SELECT ?.UC? AS UC& ,?.UC AS UC% ,DEC22?.UC% ?.UC&3,,3 AS UC #ROM 2SELECT S0M2.UC3 AS UC& ,S0M2.UC?3 AS UC% ,.UC& AS UC ,.UC% AS UC? #ROM 2SELECT %.de$7name AS UC& ,%.G"'de$7 AS UC% ,%.n@m_7ime AS UC ,%.(@m_7ime AS UC? #ROM d$7_em$_a>7_(@m': AS % WERE 2%.9i'(7nme LIE 5FSF53
AND 2%.DEPTNAME LIE 5FSF53 3AS ;RO0P B .UC% ,.UC& 3AS ? 3AS ORDER B .UC DESC/Figure &, DB <ene'a7ed @e': 7" @(e ma7e'ia)iQed @e': 7a!)e
SELECT d.de$7n" ,d.de$7name ,e.em$n" ,e.9i'(7nme ,INT2A6;2a.em$7ime33 AS a8<_7ime
#ROM de$a'7men7 d ,em$)":ee e ,em$_a>7 aWERE d.de$7n" = e.G"'de$7 AND e.em$n" = a.em$n" AND d.de$7n" LIE 5DF5;RO0P B d.de$7n" ,d.de$7name ,e.em$n" ,e.9i'(7nmeORDER B %,,?,/Figure , Sam$)e @e': 7a7 @(e WORDEPT inde
SELECT d.de$7n" ,d.de$7name ,e.em$n" ,e.9i'(7nme ,CO0NT2*3 AS a>7(#ROM de$a'7men7 d ,em$)":ee e ,em$_a>7 aWERE d.de$7n" = e.G"'de$7
AND e.em$n" = a.em$n";RO0P B d.de$7n" ,d.de$7name ,e.em$n" ,e.9i'(7nmeA6IN; CO0NT2*3 ORDER B %,,?,/Figure ?, Sam$)e @e': 7a7 @(e( N0M_ROWS inde
CREATE TABLE in8"i>e_da7a2in8"i>e INTE;ER NOT N0LL
;ENERATED ALWAS AS IDENTIT 2START WIT % ,INCREMENT B % ,NO MA16AL0E ,NO CCLE ,ORDER3,(a)e_da7e DATE NOT N0LL,>@(7"me'_id CAR2&3 NOT N0LL,$'"d@>7_id INTE;ER NOT N0LL,@an7i7: INTE;ER NOT N0LL,$'i>e DECIMAL2%,3 NOT N0LL,PRIMAR E 2in8"i>e33/Figure K, Iden7i7: >")@mn, (am$)e 7a!)e
CREATE TABLE 7e(7_da7a E #IELD - 6AL0ES ASSI;NED2e: SMALLINT NOT N0LL ============================ ;ENERATED ALWAS AS IDENTIT % ? H K %& %% e7>.,da7% SMALLINT NOT N0LL,7(% TIMESTAMP NOT N0LL,PRIMAR E2e:33/Figure &, Iden7i7: >")@mn, a(>endin< (e@en>e
CREATE TABLE 7e(7_da7a E #IELD - 6AL0ES ASSI;NED2e: SMALLINT NOT N0LL ============================ ;ENERATED ALWAS AS IDENTIT H ? & -? -H -K -% -% e7>. 2START WIT H ,INCREMENT B -? ,NO CCLE ,NO CACE ,ORDER3
,da7% SMALLINT NOT N0LL,7(% TIMESTAMP NOT N0LL,PRIMAR E2e:33/Figure %, Iden7i7: >")@mn, de(>endin< (e@en>e
CREATE TABLE 7e(7_da7a E 6AL0ES ASSI;NED2e: SMALLINT NOT N0LL ============================ ;ENERATED ALWAS AS IDENTIT %? %? %? %? %? %? e7>.
2START WIT %? ,MA16AL0E % ,INCREMENT B & ,NO CCLE ,NO ORDER3,da7% SMALLINT NOT N0LL,7(% TIMESTAMP NOT N0LL3/Figure , Iden7i7: >")@mn, d@m! (e@en>e
CREATE TABLE 7e(7_da7a E 6AL0ES ASSI;NED2e: SMALLINT NOT N0LL ============================ ;ENERATED ALWAS AS IDENTIT % ? H H H e7>. 2START WIT % ,INCREMENT B ,MA16AL0E H ,MIN6AL0E ,CCLE ,NO CACE
,ORDER3,da7% SMALLINT NOT N0LL,7(% TIMESTAMP NOT N0LL3/Figure ?, Iden7i7: >")@mn, "dd 8a)@e(, 7en e8en, 7en (7@>
CREATE TABLE in8"i>e_da7a2in8"i>e INTE;ER NOT N0LL ;ENERATED ALWAS AS IDENTIT 2START WIT %&&
,INCREMENT B % ,NO CCLE ,ORDER3,(a)e_da7e DATE NOT N0LL,>@(7"me'_id CAR2&3 NOT N0LL,$'"d@>7_id INTE;ER NOT N0LL,@an7i7: INTE;ER NOT N0LL,$'i>e DECIMAL2%,3 NOT N0LL,PRIMAR E 2in8"i>e33/Figure , Iden7i7: >")@mn, de9ini7i"n
,>name CAR2%&3 NOT N0LL,>7:$e CAR2&?3 NOT N0LL,PRIMAR E 2>@(733/COMMIT/ SELECT >@(7 ANSWER#ROM #INAL TABLE ======2INSERT INTO >@(7"me'( C0ST 6AL0ES 2DE#A0LT,5#RED5,5111533/ -----ROLLBAC/ %
SELECT >@(7 ANSWER#ROM #INAL TABLE ======2INSERT INTO >@(7"me'( C0ST 6AL0ES 2DE#A0LT,5#RED5,5111533/ -----COMMIT/ Figure H%, ;a$( in 6a)@e(, eam$)e
SELECT MIN2>@(73 AS min> ANSWER ,MA12>@(73 AS ma> ============== ,CO0NT2*3 AS '"G( MINC MA1C ROWS#ROM #INAL TABLE ---- ---- ----2INSERT INTO >@(7"me'( ? ? 6AL0ES 2DE#A0LT,5#RED5,553 ,2DE#A0LT,5DA6E5,5:::53 ,2DE#A0LT,5JON5,5QQQ533/Figure H, Se)e>7in< iden7i7: >")@mn 8a)@e( in(e'7ed
CREATE TABLE in8"i>e_7a!)e2in8"i>e INTE;ER NOT N0LL ;ENERATED ALWAS AS IDENTIT,(a)e_da7e DATE NOT N0LL,>@(7"me'_id CAR2&3 NOT N0LL,$'"d@>7_id INTE;ER NOT N0LL,@an7i7: INTE;ER NOT N0LL,$'i>e DECIMAL2%,3 NOT N0LL,PRIMAR E 2in8"i>e33/COMMIT/ INSERT INTO in8"i>e_7a!)e
SELECT NE1T6AL #OR 9'ed AS n7 ,PRE66AL #OR 9'ed AS $'8#ROM 7em$%/Figure &, 0(e "9 NE1T6AL and PRE66AL e$'e((i"n(
CREATE SE0ENCE 9'ed/ ANSWERSCOMMIT/ ======= WIT 7em$% AS === ID N1T2SELECT id -- --- ,NE1T6AL #OR 9'ed AS n7 & #ROM (7a99 WERE id 4 %&&3SELECT *#ROM 7em$%WERE id = & + 2n7 * &3/
INCREMENT B % NO MA16AL0E NO CCLE ORDER/ CREATE TABLE @(_>@(7"me'2>@(7 INTE;ER NOT N0LL,>name CAR2%&3 NOT N0LL,9'(7_(a)e DATE NOT N0LL,(a)e( INTE;ER NOT N0LL,PRIMAR E 2>@(733/ CREATE TRI;;ER @(_>@(7_in(
NO CASCADE BE#ORE INSERT ON @(_>@(7"me'RE#ERENCIN; NEW AS nnn#OR EAC ROW MODE DBSLSET nnn.>@(7 = NE1T6AL #OR >@(7/ CREATE TABLE in7)_>@(7"me'2>@(7 INTE;ER NOT N0LL,>name CAR2%&3 NOT N0LL,9'(7_(a)e DATE NOT N0LL,(a)e( INTE;ER NOT N0LL,PRIMAR E 2>@(733/ CREATE TRI;;ER in7)_>@(7_in(
ORDER/ CREATE TABLE >@(7"me'2>@(7 INTE;ER NOT N0LL,>name CAR2%&3 NOT N0LL,9'(7_(a)e DATE NOT N0LL,(a)e( INTE;ER NOT N0LL,PRIMAR E 2>@(733/ CREATE TRI;;ER >@(7_de)_'"G(
CREATE TABLE (a)e(_in8"i>e2in8"i>e INTE;ER NOT N0LL,(a)e_da7e DATE NOT N0LL,>@(7"me'_id CAR2&3 NOT N0LL,$'"d@>7_id INTE;ER NOT N0LL,@an7i7: INTE;ER NOT N0LL,$'i>e DECIMAL2%,3 NOT N0LL,PRIMAR E 2in8"i>e33/Figure , Sam$)e 7a!)e, '")) :"@' "Gn (e@en>e
CREATE TRI;;ER (a)e(_in(e'7NO CASCADE BE#OREINSERT ON (a)e(_in8"i>eRE#ERENCIN; NEW AS nnn#OR EAC ROWMODE DBSL
CREATE TABLE >"n7'")_7a!)e27a!)e_name CAR2%3 NOT N0LL,7a!)e_nm!' INTE;ER NOT N0LL
,PRIMAR E 27a!)e_name33/Figure &, C"n7'") Ta!)e, DDL
INSERT INTO >"n7'")_7a!)e 6AL0ES 25in8"i>e_7a!)e5,&3/INSERT INTO >"n7'")_7a!)e 6AL0ES 25nd_da7a_7!)e5,&3/INSERT INTO >"n7'")_7a!)e 6AL0ES 25?'d_da7a_7!)e5,&3/Figure %, C"n7'") Ta!)e, (am$)e in(e'7(
CREATE TABLE in8"i>e_7a!)e2@n8a) CAR2%?3 #OR BIT DATA NOT N0LL,in8"i>e INTE;ER,(a)e_da7e DATE NOT N0LL,>@(7"me'_id CAR2&3 NOT N0LL,$'"d@>7_id INTE;ER NOT N0LL,@an7i7: INTE;ER NOT N0LL,$'i>e DECIMAL2%,3 NOT N0LL,PRIMAR E2@n8a)33/
Figure , Sam$)e Da7a Ta!)e, DDL
CREATE TRI;;ER in8"i>e%NO CASCADE BE#ORE INSERT ON in8"i>e_7a!)eRE#ERENCIN; NEW AS nnn#OR EAC ROW MODE DBSL SET nnn.@n8a) = ;ENERATE_0NI0E23 ,nnn.in8"i>e = N0LL/
2SELECT ID ,(a)a': ,ROW_N0MBER23 O6ER2ORDER B (a)a': DESC3 AS ("'de' #ROM (7a99 WERE id 4 &&3 ANSWERSELECT id ============= ,(a)a': ID SALAR#ROM --- --------WERE ("'de' BETWEEN AND ? & &HK.&
ORDER B id/ %& %%&.&&Figure , C"mm"n Ta!)e E$'e((i"n
WIT ANSWER'"G(_Gan7ed AS ================================ 2SELECT * ID NAME SALAR S0M_SAL PCT #ROM (7a99 -- ------- -------- -------- --- WERE id 4 %&& & R"7man %H&.? ?&.
AND 0CASE2name3 LIE 5FTF5 K& ""ni7Q %&&%. ?&. 3,(@m_(a)a': AS 2SELECT S0M2(a)a':3 AS (@m_(a) #ROM '"G(_Gan7ed3SELECT id ,name ,(a)a': ,(@m_(a) ,INT22(a)a': * %&&3 (@m_(a)3 AS $>7#ROM '"G(_Gan7ed ,(@m_(a)a':ORDER B id/Figure , C"mm"n Ta!)e E$'e((i"n
DECLARE ;LOBAL TEMPORAR TABLE (e((i"n.9'ed2de$7 SMALLINT NOT N0LL,a8<_(a)a': DEC2,3 NOT N0LL,n@m_em$( SMALLINT NOT N0LL3ON COMMIT PRESER6E ROWS/COMMIT/
INSERT INTO (e((i"n.9'edSELECT de$7 ,A6;2(a)a':3 ,CO0NT2*3 ANSWER%#ROM (7a99 ========WERE id && CNT;RO0P B de$7/ ---COMMIT/ SELECT CO0NT2*3 AS >n7#ROM (e((i"n.9'ed/ ANSWER ==========================DELETE #ROM (e((i"n.9'ed DEPT A6;_SALAR N0M_EMPS
WIT 7em$% AS ANSWER2SELECT id ========================== ,name ID DEPT SALAR MA1_SAL ,de$7 --- ---- -------- -------- ,(a)a': %& & %?.& %?.&
#ROM (7a99 %K& & %. %?.& WERE id 4 ?&& && %%&.H& %%&.H& AND de$7 4 & % %H.& %H.& AND name LIE 5SF5 AND de$7 NOT IN 2SELECT de$7n@m! #ROM "'< WERE di8i(i"n = 5SO0TERN5 OR )">a7i"n = 5ART#ORD533,7em$ AS2SELECT de$7 ,MA12(a)a':3 AS ma_(a) #ROM 7em$%
#ROM (7a993 & ? %&&H.&& %&&H.&& KK.&#ROM (7a99 a & % &HK.& &HK.& KK.&WERE id 4 H&ORDER B id/Figure &, 0(e >"''e)a7ed and @n>"''e)a7ed #@))-Se)e>7( in a SELECT )i(7
INSERT INTO (7a99SELECT id + %
,2SELECT MIN2name3 #ROM (7a993 ,2SELECT de$7 #ROM (7a99 ( WERE (.id = (%.id - %&&3 ,5A5,%,,?#ROM (7a99 (%WERE id = 2SELECT MA12id3 #ROM (7a993/Figure &K, #@))-(e)e>7 in INSERT
SET )""in)en = LEN;T2)""in(7'3/ SET (ea'>)en = LEN;T2(ea'>(7'3/ WILE )">a7e8a' = & AND !e<in)"" 4= )""in)en DO SET )">a7e8a' = LOCATE2(ea'>(7',S0BSTR2)""in(7' ,!e<in)"" ,(ea'>)en33/ SET !e<in)"" = !e<in)"" + (ea'>)en/ SET 'e7@'n8a' = 'e7@'n8a' + %/ END WILE/ I# )">a7e8a' = & TEN SET 'e7@'n8a' = &/ END I#/
NO CASCADE BE#ORE 0PDATE O# $e: ON ie'a'>:%RE#ERENCIN; NEW AS NNN OLD AS OOO#OR EAC ROW MODE DBSLWEN 2NNN.$e: 4 OOO.$e:3 SI;NAL SLSTATE 5&&&%5 25CAN NOT 0PDATE $e:53/Figure , ie'a'>: 7a!)e 7a7 d"e( n"7 a))"G @$da7e( 7" PE
CREATE TABLE e$)"ded%2$e: CAR23 NOT N0LL,>e: CAR23 NOT N0LL,)8) SMALLINT NOT N0LL,PRIMAR E2$e:,>e:33/Figure , E$)"ded 7a!)e CREATE (7a7emen7
CREATE TRI;;ER E1P%_DELA#TER DELETE ON ie'a'>:%RE#ERENCIN; OLD AS OOO#OR EAC ROW MODE DBSL DELETE #ROM e$)"ded% WERE >e: = OOO.e::/Figure H, T'i<<e' 7" main7ain e$)"ded 7a!)e a97e' de)e7e in ie'a'>: 7a!)e
CREATE TABLE >@(7_!a)an>e2>@(7 INTE;ER NOT N0LL ;ENERATED ALWAS AS IDENTIT,(7a7@( CAR23 NOT N0LL,!a)an>e DECIMAL2%,3 NOT N0LL,n@m_7'an( INTE;ER NOT N0LL
,>@'_7( TIMESTAMP NOT N0LL,PRIMAR E 2>@(733/ CREATE TABLE >@(7_i(7"':2>@(7 INTE;ER NOT N0LL,7'an( INTE;ER NOT N0LL,!a)an>e DECIMAL2%,3 NOT N0LL,!<n_7( TIMESTAMP NOT N0LL,end_7( TIMESTAMP NOT N0LL,PRIMAR E 2>@(7, !<n_7(33/ CREATE TABLE >@(7_7'an(2min_>@(7 INTE;ER
,ma_>@(7 INTE;ER,'"G(_7"7 INTE;ER NOT N0LL,>an<e_8a) DECIMAL2%,3,>an<e_7:$e CAR2%3 NOT N0LL,>@'_7( TIMESTAMP NOT N0LL,PRIMAR E 2>@'_7(33/Figure H, Sam$)e Ta!)e(
CREATE TRI;;ER >@(7_!a)_in(%
NO CASCADE BE#ORE INSERTON >@(7_!a)an>eRE#ERENCIN; NEW AS nnn#OR EAC ROWMODE DBSL SET nnn.>@'_7( = C0RRENT TIMESTAMP ,nnn.n@m_7'an( = %/Figure HK, Be9"'e in(e'7 7'i<<e' - (e7 8a)@e(
CREATE TRI;;ER >@(7_!a)_@$d%NO CASCADE BE#ORE 0PDATEON >@(7_!a)an>eRE#ERENCIN; NEW AS nnn OLD AS """#OR EAC ROWMODE DBSL SET nnn.>@'_7( = C0RRENT TIMESTAMP ,nnn.n@m_7'an( = """.n@m_7'an( + %/Figure &, Be9"'e @$da7e 7'i<<e' - (e7 8a)@e(
ON >@(7_!a)an>eRE#ERENCIN; NEW AS nnn#OR EAC ROWMODE DBSL INSERT INTO >@(7_i(7"': 6AL0ES 2nnn.>@(7 ,nnn.n@m_7'an( ,nnn.!a)an>e ,nnn.>@'_7( ,5KKKK-%-?%-.&&.&&53/Figure , A97e' T'i<<e' - 'e>"'d in(e'7
CREATE TRI;;ER >@(7_i(_@$d%A#TER 0PDATEON >@(7_!a)an>eRE#ERENCIN; OLD AS """ NEW AS nnn#OR EAC ROWMODE DBSLBE;IN ATOMIC 0PDATE >@(7_i(7"': SET end_7( = C0RRENT TIMESTAMP
WERE >@(7 = """.>@(7 AND !<n_7( = """.>@'_7(/ INSERT INTO >@(7_i(7"': 6AL0ES 2nnn.>@(7 ,nnn.n@m_7'an( ,nnn.!a)an>e ,nnn.>@'_7( ,5KKKK-%-?%-.&&.&&53/ENDFigure ?, A97e' T'i<<e' - 'e>"'d @$da7e
CREATE TABLE >@(7"me'_!a)an>e2>@(7_id INTE;ER NOT N0LL ;ENERATED ALWAS AS IDENTIT 2START WIT % ,INCREMENT B % ,NO CCLE ,NO CACE3,>@(7_name 6ARCAR2&3 NOT N0LL,>@(7_(e CAR2%3 NOT N0LL,n@m_(a)e( SMALLINT NOT N0LL,7"7a)_(a)e( @(_d"))a'( NOT N0LL,ma(7e'_>@(7_id INTE;ER
,>@(7_in(e'7_7( TIMESTAMP NOT N0LL,>@(7_@$da7e_7( TIMESTAMP NOT N0LL,PRIMAR E 2>@(7_id3,CONSTRAINT >% CEC 2>@(7_name 4 553,CONSTRAINT > CEC 2>@(7_(e = 5#5 OR >@(7_(e = 5M53,CONSTRAINT >? #OREI;N E 2ma(7e'_>@(7_id3 RE#ERENCES >@(7"me'_!a)an>e 2>@(7_id3 ON DELETE CASCADE3/Figure , C@(7"me'-Ba)an>e 7a!)e DDL
CREATE TABLE @(_(a)e(2in8"i>e INTE;ER NOT N0LL,>@(7_id INTE;ER NOT N0LL,(a)e_8a)@e @(_d"))a'( NOT N0LL,(a)e_in(e'7_7( TIMESTAMP NOT N0LL,(a)e_@$da7e_7( TIMESTAMP NOT N0LL,PRIMAR E 2in8"i>e3
,CONSTRAINT @% CEC 2(a)e_8a)@e @(_d"))a'(2&33,CONSTRAINT @ #OREI;N E 2>@(7_id3 RE#ERENCES >@(7"me'_!a)an>e ON DELETE RESTRICT3/ CREATE INDE1 @(_(a)e(_>@(7 ON @(_(a)e( 2>@(7_id3/Figure , 0S-Sa)e( 7a!)e DDL
NO CASCADE BE#ORE 0PDATE O# (a)e_8a)@eON @(_(a)e(RE#ERENCIN; NEW AS nnn OLD AS """#OR EAC ROWMODE DBSLSET nnn.(a)e_@$da7e_7( = C0RRENT TIMESTAMP/Figure K?, Main7ain @$da7e-7ime(7am$
CREATE TABLE >@(7"me'_i(2>@(7 INTE;ER NOT N0LL,>@(7_name CAR2%&3,>@(7_m<' CAR2%&3
,>@'_7( TIMESTAMP NOT N0LL,>@'_a>7n CAR2%3 NOT N0LL,>@'_@(e' 6ARCAR2%&3 NOT N0LL,$'8_>@(7 INTE;ER,$'8_7( TIMESTAMP,PRIMAR E2>@(7,>@'_7(33/ CREATE 0NI0E INDE1 >@(7"me'_i(_% ON >@(7"me'_i(2>@(7, $'8_7(, >@'_7(3/Figure K, C@(7"me'-i(7"': 7a!)e
CREATE TRI;;ER >@(7"me'_in(A#TERINSERT ON >@(7"me'RE#ERENCIN; NEW AS nnn#OR EAC ROWMODE DBSL INSERT INTO >@(7"me'_i( 6AL0ES 2nnn.>@(7 ,nnn.>@(7_name ,nnn.>@(7_m<' ,C0RRENT TIMESTAMP
,5I5 ,0SER ,N0LL ,N0LL3/Figure K, In(e'7 7'i<<e'
CREATE TRI;;ER >@(7"me'_@$dA#TER
0PDATE ON >@(7"me'RE#ERENCIN; NEW AS nnn OLD AS """#OR EAC ROWMODE DBSL INSERT INTO >@(7"me'_i( 6AL0ES 2nnn.>@(7 ,nnn.>@(7_name ,nnn.>@(7_m<' ,C0RRENT TIMESTAMP ,505 ,0SER ,""".>@(7
WERE $$$.@(e'_id = 0SER AND .>@'_7( 4= $$$.!<n_7( AND .>@'_a>7n 4 5D5 AND NOT E1ISTS 2SELECT * #ROM >@(7"me'_i( nnn WERE nnn.$'8_>@(7 = .>@(7 AND nnn.$'8_7( = .>@'_7( AND nnn.>@'_7( 4= $$$.!<n_7(3/Figure K&, 6ieG "9 C@(7"me' i(7"':
CREATE TABLE $'"9i)e2@(e'_id 6ARCAR2%&3 NOT N0LL,8'(n INTE;ER NOT N0LL,8'(n_!<n_7( TIMESTAMP NOT N0LL,CONSTRAINT $'"9i)e% #OREI;N E28'(n3 RE#ERENCES 8e'(i"n28'(n3 ON DELETE RESTRICT
,PRIMAR E2@(e'_id33/Figure K&, P'"9i)e 7a!)e
CREATE TABLE >@(7"me'_i(2>@(7 INTE;ER NOT N0LL,>@(7_name CAR2%&3 NOT N0LL,>@(7_m<' CAR2%&3,>@'_7( TIMESTAMP NOT N0LL,>@'_8'(n INTE;ER NOT N0LL
,>@'_a>7n CAR2%3 NOT N0LL,>@'_@(e' 6ARCAR2%&3 NOT N0LL,$'8_>@(7 INTE;ER,$'8_7( TIMESTAMP,$'8_8'(n INTE;ER,CONSTRAINT >@(7"me'% #OREI;N E2>@'_8'(n3 RE#ERENCES 8e'(i"n28'(n3 ON DELETE RESTRICT,CONSTRAINT >@(7"me' CEC2>@'_a>7n IN 25I5,505,5D533,PRIMAR E2>@(7,>@'_8'(n,>@'_7(33/ CREATE INDE1 >@(7"me'_ ON >@(7"me'_i(2$'8_>@(7
WERE $$$.@(e'_id = 0SER AND .>@'_a>7n 4 5D5 AND 22$$$.8'(n = & AND .>@'_8'(n = &3 OR 2$$$.8'(n & AND .>@'_8'(n = & AND .>@'_7( 4 $$$.8'(n_!<n_7(3 OR 2$$$.8'(n & AND .>@'_8'(n = $$$.8'(n33 AND NOT E1ISTS
2SELECT * #ROM >@(7"me'_i( nnn WERE nnn.$'8_>@(7 = .>@(7 AND nnn.$'8_7( = .>@'_7( AND nnn.$'8_8'(n = .>@'_8'(n AND 22$$$.8'(n = & AND nnn.>@'_8'(n = &3 OR 2$$$.8'(n & AND nnn.>@'_8'(n = & AND nnn.>@'_7( 4 $$$.8'(n_!<n_7(3 OR 2$$$.8'(n & AND nnn.>@'_8'(n = $$$.8'(n333/Figure K&H, C@(7"me' 8ieG - % "9
CREATE TRI;;ER >@(7"me'_in(INSTEAD O#INSERT ON >@(7"me'_8GRE#ERENCIN; NEW AS nnn#OR EAC ROWMODE DBSL INSERT INTO >@(7"me'_i( 6AL0ES 2nnn.>@(7 ,nnn.>@(7_name
,nnn.>@(7_m<' ,C0RRENT TIMESTAMP ,2SELECT 8'(n #ROM $'"9i)e WERE @(e'_id = 0SER3 ,CASE WEN & 4 2SELECT CO0NT2*3 #ROM >@(7"me' WERE >@(7 = nnn.>@(73 TEN RAISE_ERROR25%&&%5,5ERROR D@$)i>a7e >@(753 ELSE 5I5 END ,0SER
CREATE TRI;;ER >@(7"me'_@$dINSTEAD O#0PDATE ON >@(7"me'_8GRE#ERENCIN; NEW AS nnn OLD AS """#OR EAC ROWMODE DBSL INSERT INTO >@(7"me'_i( 6AL0ES 2nnn.>@(7 ,nnn.>@(7_name ,nnn.>@(7_m<' ,C0RRENT TIMESTAMP ,""".8'(n
,CASE WEN nnn.>@(7 4 """.>@(7 TEN RAISE_ERROR25&&%5,5ERROR Cann"7 >an<e >@(753 ELSE 505 END ,""".@(e'_id ,""".>@(7 ,""".>@'_7( ,""".>@'_8'(n3/Figure K&K, 0$da7e 7'i<<e'
CREATE TRI;;ER >@(7"me'_de)INSTEAD O#DELETE ON >@(7"me'_8GRE#ERENCIN; OLD AS """#OR EAC ROWMODE DBSL INSERT INTO >@(7"me'_i( 6AL0ES 2""".>@(7 ,""".>@(7_name ,""".>@(7_m<' ,C0RRENT TIMESTAMP
WIT 7em$% 2n@m3 AS 26AL0ES 2%3,23,2?3,233SELECT CASE n@m WEN % TEN 5SELECT 555 || 7a!name || 555 AS 7name5 WEN TEN 5 ,CO0NT2*35 || 5 AS '"G(5 WEN ? TEN 5#ROM 5 || RTRIM27a!(>ema3
|| 5.5 ANSWER || 7a!name ============================== || 5/5 SELECT 5NAMEMAPPIN;S5 AS 7name WEN TEN 55 ,CO0NT2*3 AS '"G( END #ROM SSCAT.NAMEMAPPIN;S/#ROM (:(>a7.7a!)e( ,7em$% SELECT 5NODE;RO0PDE#5 AS 7nameWERE 7a!(>ema = 5SSCAT5 ,CO0NT2*3 AS '"G( AND 7a!name LIE 5NF5 #ROM SSCAT.NODE;RO0PDE#/ORDER B 7a!(>ema ,7a!name SELECT 5NODE;RO0PS5 AS 7name ,n@m/ ,CO0NT2*3 AS '"G( #ROM SSCAT.NODE;RO0PS/
Figure K%, ;ene'a7e SL 7" >"@n7 '"G(
WIT 7em$% 2n@m3 AS 26AL0ES 2%3,23,2?3,233SELECT CASE n@m WEN % TEN 5SELECT S0M2C%35 Gen 7en 5#ROM 25 WEN ? TEN 5 SELECT CO0NT2*3 AS C% #ROM 5 CONCAT RTRIM27a!(>ema3 CONCAT
5.5 CONCAT 7a!name CONCAT CASE dd WEN % TEN 55 ELSE 5 0NION ALL5 END WEN TEN 53 AS /5 END#ROM 2SELECT 7a!.* ,ROW_N0MBER23 O6ER2ORDER B 7a!(>ema ASC ,7a!name ASC3 AS aa ,ROW_N0MBER23 O6ER2ORDER B 7a!(>ema DESC ,7a!name DESC3 AS dd
#ROM (:(>a7.7a!)e( 7a! WERE 7a!(>ema = 5SSCAT5 AND 7a!name LIE 5NF5 3AS ,7em$%WERE 2n@m 4= AND aa = %3 OR 2n@m = ?3 OR 2n@m = AND dd = %3ORDER B 7a!(>ema ASC ,7a!name ASC ,n@m ASC/ ANSWER ===========================================================
#OR > AS SELECT 7a!(>ema ,7a!name ,ROW_N0MBER23 O6ER2ORDER B 7a!(>ema ASC ,7a!name ASC3 AS aa ,ROW_N0MBER23 O6ER2ORDER B 7a!(>ema DESC ,7a!name DESC3 AS dd #ROM (:(>a7.7a!)e( WERE 7a!(>ema LIE in_7a!(>ema AND 7a!name LIE in_7a!name ORDER B 7a!(>ema ASC ,7a!name ASC WIT 0R
DOI# aa = % TEN
SET (7m7 = 5SELECT S0M2>%3 #ROM 25/ END I#/ SET (7m7 = (7m7 || 5SELECT CO0NT2*3 AS >% #ROM 5 || RTRIM27a!(>ema3 || 5.5 || 7a!name/ I# dd % TEN SET (7m7 = (7m7 || 5 0NION ALL 5/ ELSE SET (7m7 = (7m7 || 5 3 AS WIT 0R 5/ END I#/
END #OR/
PREPARE (% #ROM (7m7/ OPEN >%/ ENDFigure K%H, C"@n7 '"G( in a)) ma7>in< 7a!)e(
DECLARE ;LOBAL TEMPORAR TABLE (e((i"n.7a!_)i(7 27a!(>ema 6ARCAR2%3 NOT N0LL ,7a!name 6ARCAR2%3 NOT N0LL ,7a!>a'd BI;INT NOT N0LL ,n@m_'"G( BI;INT NOT N0LL3
ON COMMIT DELETE ROWS WIT REPLACE/
INSERT INTO (e((i"n.7a!_)i(7 2SELECT 7a!(>ema ,7a!name ,>a'd ,& #ROM (:(>a7.7a!)e( WERE 7a!(>ema LIE in_7a!(>ema AND 7a!name LIE in_7a!name ORDER B 7a!(>ema ASC ,7a!name ASC3/
#OR 9% AS SELECT 7a!(>ema ,7a!name #ROM (e((i"n.7a!_)i(7 DO
WIT 7em$% 2(%, '%3 AS ANSWER26AL0ES 2&, RAND233 =================== 0NION ALL SE RAN RAN? RAN SELECT (%+%, RAND23 ---- ---- ---- ---- #ROM 7em$% & H A H
WERE (%+% 4 % 1 3 T SELECT SMALLINT2(%3 AS (e ? K O K ,SMALLINT2'%*H+H3 AS 'an 1 ,CR2SMALLINT2'%*H+H33 AS 'an? ,CAR2SMALLINT2'%*H3+H3 AS 'an#ROM 7em$%/Figure KH, C"n8e'7in< RAND "@7$@7 9'"m n@m!e' 7" >a'a>7e'
CREATE TABLE $e'("nne)2em$ INTE;ER NOT N0LL,(">(e> CAR2%%3 NOT N0LL,"!_97n CAR23 NOT N0LL,de$7 SMALLINT NOT N0LL,(a)a': DECIMAL2,3 NOT N0LL,da7e_!n DATE NOT N0LL WIT DE#A0LT,9(7_name 6ARCAR2&3,)(7_name 6ARCAR2&3,CONSTRAINT $e% PRIMAR E 2em$3,CONSTRAINT $e&% CEC 2em$ &3,CONSTRAINT $e& CEC 2LOCATE25 5,(">(e>3 = &3
CREATE TABLE 7ime_(e'ie(2 CAR2&?3 NOT N0LL,!<n_d7 DATE NOT N0LL,end_d7 DATE NOT N0LL,CONSTRAINT 7(>% CEC 2:: 4 553,CONSTRAINT 7(> CEC 2!<n_d7 4= end_d733/COMMIT/
INSERT INTO TIME_(e'ie( 8a)@e(25AAA5,5%KK-%&-&%5,5%KK-%&-&53,25AAA5,5%KK-%&-&H5,5%KK-%&-&H53,25AAA5,5%KK-%&-&5,5%KK-%&-&53,25AAA5,5%KK-%&-%5,5%KK-%&-%K53,25BBB5,5%KK-%&-&%5,5%KK-%&-&%53,25BBB5,5%KK-%&-&?5,5%KK-%&-&?53/Figure K?&, Sam$)e Ta!)e DDL - Time Se'ie(
2SELECT * #ROM 7ime_(e'ie( ! WERE a.:: = !.:: AND a.!<n_d7 4 !.!<n_d7 AND 2a.!<n_d7 BETWEEN !.!<n_d7 AND !.end_d7 OR !.!<n_d7 BETWEEN a.!<n_d7 AND a.end_d733ORDER B %,/Figure K?, #ind "8e')a$$in< '"G( in 7ime-(e'ie(
,7ime_(e'ie( ! |BBB|%KK-%&-&?|%KK-%&-&?|WERE a.:: = !.:: +-------------------------+ AND a.end_d7 4 !.!<n_d7 - % DA AND NOT E1ISTS 2SELECT * #ROM 7ime_(e'ie( Q WERE Q.:: = a.:: AND Q.:: = !.:: AND Q.!<n_d7 a.!<n_d7 AND Q.!<n_d7 4 !.!<n_d73ORDER B %,/Figure K??, #ind <a$ in Time-Se'ie(, SL
SELECT a.:: AS :: TIME_SERIES ,a.end_d7 + % DA AS !<n_<a$ +-------------------------+ ,!.!<n_d7 - % DA AS end_<a$ ||B;N_DT |END_DT | ,2DAS2!.!<n_d73 - |---|----------|----------| DAS2a.end_d73 - %3 AS (Q |AAA|%KK-%&-&%|%KK-%&-&|#ROM 7ime_(e'ie( a |AAA|%KK-%&-&H|%KK-%&-&H| ,7ime_(e'ie( ! |AAA|%KK-%&-&|%KK-%&-&|WERE a.:: = !.:: |AAA|%KK-%&-%|%KK-%&-%K| AND a.end_d7 4 !.!<n_d7 - % DA |BBB|%KK-%&-&%|%KK-%&-&%| AND NOT E1ISTS |BBB|%KK-%&-&?|%KK-%&-&?|
2SELECT * +-------------------------+ #ROM 7ime_(e'ie( Q WERE Q.:: = a.:: ANSWER AND Q.:: = !.:: ============================ AND Q.!<n_d7 a.!<n_d7 B;N_;AP END_;AP S AND Q.!<n_d7 4 !.!<n_d73 --- ---------- ---------- --ORDER B %,/ AAA %KK-%&-& %KK-%&-& % AAA %KK-%&-& %KK-%&-% BBB %KK-%&-& %KK-%&-& %Figure K?, #ind <a$ in Time-Se'ie(
--SET DELIMITER IMPORTANT ============CREATE #0NCTION i(n@me'i>2in(7' 6ARCAR2&33 Ti( eam$)eRET0RNS CAR2%3 @(e( an BE;IN ATOMIC a( 7e (7m7 DECLARE i(_n@m!e' CAR2%3 DE#A0LT 55/ de)imi7e'. DECLARE !<n_!)an CAR2%3 DE#A0LT 55/
DECLARE 9"@nd_n@m CAR2%3 DE#A0LT 5N5/ DECLARE 9"@nd_$"( CAR2%3 DE#A0LT 5N5/ DECLARE 9"@nd_ne< CAR2%3 DE#A0LT 5N5/ DECLARE 9"@nd_d"7 CAR2%3 DE#A0LT 5N5/ DECLARE >7' SMALLINT DE#A0LT %/ I# in(7' IS N0LL TEN RET0RN N0LL/ END I#/ G)""$ WILE >7' 4= LEN;T2in(7'3 AND i(_n@m!e' = 55 DO
-----------------------------
--- ERROR CECS --- ----------------------------- I# S0BSTR2in(7',>7',%3 NOT IN 25 5,5.5,5+5,5-5,5&5,5%5,55 ,5?5,55,55,5H5,55,55,5K53 TEN SET i(_n@m!e' = 5N5/ ITERATE G)""$/ END I#/ I# S0BSTR2in(7',>7',%3 = 5 5 AND !<n_!)an = 5N5 TEN SET i(_n@m!e' = 5N5/ ITERATE G)""$/ END I#/ I# S0BSTR2in(7',>7',%3 = 5.5 AND 9"@nd_d"7 = 55 TEN
SET i(_n@m!e' = 5N5/ ITERATE G)""$/ END I#/ I# S0BSTR2in(7',>7',%3 = 5+5 AND 29"@nd_ne< = 55 OR !<n_!)an = 5N53 TEN SET i(_n@m!e' = 5N5/ ITERATE G)""$/ END I#/ I# S0BSTR2in(7',>7',%3 = 5-5 AND 29"@nd_ne< = 55 OR !<n_!)an = 5N53 TEN SET i(_n@m!e' = 5N5/
ITERATE G)""$/ END I#/ ----------------------------- --- MAINTAIN #LA;S Z CTR --- ----------------------------- I# S0BSTR2in(7',>7',%3 IN 25&5,5%5,55,5?5,55 ,55,5H5,55,55,5K53 TEN SET 9"@nd_n@m = 55/ END I#/ I# S0BSTR2in(7',>7',%3 = 5.5 TEN SET 9"@nd_d"7 = 55/ END I#/ I# S0BSTR2in(7',>7',%3 = 5+5 TEN
SET 9"@nd_$"( = 55/ END I#/ I# S0BSTR2in(7',>7',%3 = 5-5 TEN SET 9"@nd_ne< = 55/ END I#/Figure K, Ce> N@me'i> 9@n>7i"n, $a'7 % "9
I# S0BSTR2in(7',>7',%3 4 5 5 TEN SET !<n_!)an = 5N5/ END I#/ SET >7' = >7' + %/ END WILE G)""$/ I# 9"@nd_n@m = 5N5 TEN SET i(_n@m!e' = 5N5/ END I#/ RET0RN i(_n@m!e'/END
WIT TEMP% 2C%3 AS26AL0ES 5 %?5 ,5+%?.5 ,5H 5 ,5 %& 5 ,5 -.?5 ANSWER ,5++%?H5 ==================== ,5.&%?K5 C% C C? ,5 ??F5 ------- -- --------- ,5 5 %? %?.&&&&& ,N0LL3 +%?. %?.&&&SELECT C% AS C% H N - ,i(n@me'i>2C%3 AS C %& N - ,CASE -.? -&.?&&&
WEN i(n@me'i>2C%3 = 55 ++%?H N - TEN DECIMAL2C%,%&,H3 .&%?K &.&%? ELSE N0LL ??F N - END AS C? N -#ROM TEMP% - - -Figure K, Ce> N@me'i> 9@n>7i"n, $a'7 "9
SELECT d_(a)
,CAR2d_(a)3 AS d_>' ,DI;ITS2d_(a)3 AS d_d<7 ,i_(a) ,CAR2i_(a)3 AS i_>' ,DI;ITS2i_(a)3 AS i_d<7#ROM 2SELECT DEC2(a)a': - %%&&&,H,3 AS d_(a) ,SMALLINT2(a)a': - %%&&&3 AS i_(a) #ROM (7a99 WERE (a)a': %&&&& AND (a)a': 4 %&& 3AS ANSWERORDER B d_(a)/ ========================================= D_SAL D_CR D_D;T I_SAL I_CR I_D;T
DECLARE "@7_8a)@e CAR23/ SET a!(_in8a) = ABS2BI;INT2in8a)33/ SET "@7_8a)@e = RI;T2CAR255,%K3 CONCAT RTRIM2CAR2BI;INT2in8a)333,%K3 CONCAT 5.5 CONCAT S0BSTR2DI;ITS2in8a)3,%K,3/ WILE i DO I# S0BSTR2"@7_8a)@e,i-%,%3 BETWEEN 5&5 AND 5K5 TEN SET "@7_8a)@e = S0BSTR2"@7_8a)@e,%,i-%3 CONCAT 5,5 CONCAT S0BSTR2"@7_8a)@e,i3/ ELSE SET "@7_8a)@e = 5 5 CONCAT "@7_8a)@e/ END I#/
SET i = i - ?/ END WILE/ RET0RN "@7_8a)@e/ENDFigure K%, 0(e'-de9ined 9@n>7i"n - >"n8e'7 de>ima) 7" >a'a>7e' - Gi7 >"mma(
WIT ANSWER7em$% 2n@m3 AS ====================================
26AL0ES 2DEC2+%,&,33 INP0T O0TP0T ,2DEC2-%,&,33 ----------------- ------------------ 0NION ALL -KH&HH&?.K -K,H&,HH&,?.K SELECT n@m * KH.% -KH.% -K,H.% #ROM 7em$% -.&& -.&& WERE ABS2n@m3 4 %E%&3, &.&& &.&&7em$ 2n@m3 AS KH?.% K,H?.% 2SELECT n@m - % KH&HH&%.K K,H&,HH&,%.K #ROM 7em$%3SELECT n@m AS in$@7 ,>"mma_'i<72n@m3 AS "@7$@7#ROM 7em$ORDER B n@m/
SELECT em$n" ,CASE "(7-8a'-% WEN % TEN 9i'(7nme ELSE 55 END AS 9i'(7nme ,CASE "(7-8a'- WEN % TEN )a(7name ELSE 55 END AS )a(7name ,CASE "(7-8a'-? WEN % TEN 6ARCAR2"!3 ELSE 55 END AS "!
ELSE % END AS 9"@nd #ROM >a7e<"': >a7 LE#T O0TER JOIN em$)":ee em$ ON >a7.(@!>a7 = 5ROWS IN TABLE5 OR 2>a7.(@!>a7 = 5N0MBER MALES5 AND em$.(e = 5M53 OR 2>a7.(@!>a7 = 5SALAR U&5 AND em$.(a)a': &&&&3
OR 2>a7.(@!>a7 = 5NAME LIE ABCF5 AND em$.9i'(7nme LIE 5ABCF53 OR 2>a7.de$7 4 55 AND >a7.de$7 = em$.G"'de$73 3AS ;RO0P B .>a7 ,.(@!>a7ORDER B %,/Figure KHH, M@)7i$)e >"@n7( in "ne $a((, SL
CATE;OR S0BCATE;ORDEPT ROWS-------- ----------------------------- -----%ST ROWS IN TABLE ?ND SALAR U& ?RD NAME LIE ABCF &T N0MBER MALES %KT ADMINISTRATION SSTEMS HT DE6ELOPMENT CENTER &T IN#ORMATION CENTER ?T MAN0#ACT0RIN; SSTEMS KT OPERATIONS T PLANNIN; %
T SO#TWARE S0PPORT T SPI## COMP0TER SER6ICE DI6. ?T S0PPORT SER6ICES %Figure KH, M@)7i$)e >"@n7( in "ne $a((, An(Ge'
WIT7em$% 2id, da7a3 AS 26AL0ES 2&%,5SOME TE1T TO PARSE.53
,2&,5MORE SAMPLE TE1T.53 ,2&?,5ONE-WORD.53 ,2&,5533,7em$ 2id, G"'d, G"'d, da7a_)e973 AS 2SELECT id ,SMALLINT2%3 ,S0BSTR2da7a,%, CASE LOCATE25 5,da7a3 WEN & TEN LEN;T2da7a3 ELSE LOCATE25 5,da7a3 END3 ,LTRIM2S0BSTR2da7a,
WERE a.de$7 = !.de$7 AND a.name !.name AND a.name = 2SELECT MIN2>.name3 #ROM (7a99 > WERE >.de$7 = !.de$7 AND >.name !.name33SELECT de$7 ,G
,name AS ma_name ,a))_name(#ROM 7em$% dWERE G = 2SELECT MA12G3 #ROM 7em$% e WERE d.de$7 = e.de$73ORDER B de$7/Figure K&, Den"'ma)iQe N"'ma)iQed Da7a - SL
,S0M2(a)a':3 AS (@m_(a) #ROM (7a99 WERE id 4 && AND name 4 5S@e5 AND (a)a': %&&&& ;RO0P B de$7 ,"!3,"!(_)i(7 AS 2SELECT "! ,ROW_N0MBER23 O6ER2ORDER B "! ASC3 AS "!A ,ROW_N0MBER23 O6ER2ORDER B "! DESC3 AS "!D #ROM da7a_in$@7 ;RO0P B "!3,
de$7_)i(7 AS 2SELECT de$7 #ROM da7a_in$@7 ;RO0P B de$73,de$7_"!(_)i(7 AS 2SELECT d$7.de$7 ,"!."! ,"!."!A ,"!."!D #ROM "!(_)i(7 "! #0LL O0TER JOIN de$7_)i(7 d$7 ON % = %3,
--SET DELIMITER IMPORTANT ============CREATE #0NCTION 'e8e'(e2in(7' 6ARCAR2&33 Ti( eam$)eRET0RNS 6ARCAR2&3 @(e( an BE;IN ATOMIC a( 7e (7m7 DECLARE "@7(7' 6ARCAR2&3 DE#A0LT 55/ de)imi7e'. DECLARE >@'!:7e SMALLINT DE#A0LT &/
SET >@'!:7e = LEN;T2RTRIM2in(7'33/ WILE >@'!:7e = % DO SET "@7(7' = "@7(7' || S0BSTR2in(7',>@'!:7e,%3/ SET >@'!:7e = >@'!:7e - %/ END WILE/ RET0RN "@7(7'/END
ANSWERSELECT id AS ID ==================== ,name AS NAME% ID NAME% NAME ,'e8e'(e2name3 AS NAME -- -------- -------#ROM (7a99 %& Sande'( ('ednaSWERE id 4 & & Pe'na) )an'eP
END I#/ SET >@'_$"( = %/ SET (7$_9)< = 55/ WILE (7$_9)< = 55 AND >@'_$"( 4= )en<72in_8a)3 DO I# S0BSTR2in_8a),>@'_$"(,%3 4 in_(7'i$ TEN SET (7$_9)< = 5N5/ ELSE SET >@'_$"( = >@'_$"( + %/ END I#/ END WILE/ SET "@7_8a) = S0BSTR2in_8a),>@'_$"(3/ SET >@'_$"( = )en<72"@7_8a)3/ SET (7$_9)< = 55/
WILE (7$_9)< = 55 AND >@'_$"( = % DO I# S0BSTR2"@7_8a),>@'_$"(,%3 4 in_(7'i$ TEN SET (7$_9)< = 5N5/ ELSE SET >@'_$"( = >@'_$"( - %/ IMPORTANT END I#/ ============ END WILE/ Ti( eam$)e SET "@7_8a) = S0BSTR2"@7_8a),%,>@'_$"(3/ @(e( an RET0RN "@7_8a)/ a( 7e (7m7END de)imi7e'.
Figure K&, De9ine (7'i$ 9@n>7i"n
WIT G"'d% 2G, G"'d_8a)3 AS ANSWER 26AL0ES2%,5&& a!> &&&53 ======================== ,2,5& & a!>53 W WORD_6AL STP LEN ,2?,5 (d!(53 -- ---------- ------ --- ,2,5&&& &53 % && a!> &&& a!> ,2,5&&&&53 & & a!> & a!> H
,2H,5&53 ? (d!( (d!( ,2,5a53 &&& & % ,2,5533 &&&& &SELECT G H & & ,G"'d_8a) a a % ,(7'$2G"'d_8a),5&53 AS (7$ & ,)en<72(7'$2G"'d_8a),5&533 AS )en#ROM G"'d%ORDER B G/Figure K%, 0(e (7'i$ 9@n>7i"n
,TIMESTAMP2;ENERATE_0NI0E233 ,TIMESTAMP2;ENERATE_0NI0E2333 0NION ALL SELECT n@m + % ,(7'7 ,TIMESTAMP2;ENERATE_0NI0E233 #ROM 777 WERE TIMESTAMPDI##2,CAR2(7"$ - (7'733 4 in8a) 3SELECT MA12n@m3#ROM 777/Figure K?, #@n>7i"n 7a7 $a@(e( 9"' n (e>"nd(
SELECT id ,S0BSTR2CAR2TIMESTAMP2;ENERATE_0NI0E2333,%3 AS ((_mmmmmm ,$a@(e2id %&3 AS )""$( ,S0BSTR2CAR2TIMESTAMP2;ENERATE_0NI0E2333,%3 AS ((_mmmmmm#ROM (7a99WERE id 4 ?%/ ANSWER ============================= ID SS_MMMMMM LOOPS SS_MMMMMM
SET d"_("'7 = 5N5/ IMPORTANT SET >@'_$"( = %/ ============ WILE >@'_$"( 4 )en<72in_8a)3 DO Ti( eam$)e I# 20CASE2("'7_di'3 = 5A5 @(e( an AND S0BSTR2"@7_8a),>@'_$"(+%,%3 4 a( 7e (7m7 S0BSTR2"@7_8a),>@'_$"(,%33 de)imi7e'. OR 20CASE2("'7_di'3 = 5D5 AND S0BSTR2"@7_8a),>@'_$"(+%,%3 S0BSTR2"@7_8a),>@'_$"(,%33 TEN SET d"_("'7 = 55/
SET "@7_8a) = CASE WEN >@'_$"( = % TEN 55 ELSE S0BSTR2"@7_8a),%,>@'_$"(-%3 END CONCAT S0BSTR2"@7_8a),>@'_$"(+%,%3 CONCAT S0BSTR2"@7_8a),>@'_$"( ,%3 CONCAT CASE WEN >@'_$"( = )en<72in_8a)3 - % TEN 55 ELSE S0BSTR2"@7_8a),>@'_$"(+3 END/
END I#/ SET >@'_$"( = >@'_$"( + %/ END WILE/ END WILE/ RET0RN "@7_8a)/ENDFigure K, De9ine ("'7->a' 9@n>7i"n
WIT G"'d% 2G, G"'d_8a)3 AS ANSWER
26AL0ES2%,5%?H53 ============================= ,2,5ABCDE#;53 W WORD_6AL SA SD ,2?,5AaB!C>53 -- --------- ------- -------- ,2,5a!>>!53 % %?H %?H H?% ,2,555F.53 ABCDE#; ABCDE#; ;#EDCBA ,2H,5!B53 ? AaB!C> aA!B>C C>B!Aa ,2,5a53 a!>>! a!!>> >>!!a ,2,5533 5F. .5F F5.SELECT G H !B !B B! ,G"'d_8a) a a a ,("'7_>a'2G"'d_8a),5a53 (a ,("'7_>a'2G"'d_8a),5D53 (d#ROM G"'d%
ORDER B G/Figure KH, 0(e ("'7->a' 9@n>7i"n
WIT n@m!e'ed_'"G( AS 2SELECT (.* ,ROW_N0MBER23 O6ER2PARTITION B "! ORDER B (a)a':, id3 AS '"G #ROM (7a99 (
WERE >"mm & AND name LIE 5FeF53,median_'"G_n@m AS 2SELECT "! ,2MA12'"G + %.&3 3 - &. AS med_)" ,2MA12'"G + %.&3 3 + &. AS med_i #ROM n@m!e'ed_'"G( ;RO0P B "!3SELECT nn."! ,DEC2A6;2nn.(a)a':3,,3 AS med_(a)
#ROM n@m!e'ed_'"G( nn ANSWER ,median_'"G_n@m m' ==============WERE nn."! = m'."! JOB MED_SAL AND nn.'"G BETWEEN m'.med_)" AND m'.med_i ----- --------;RO0P B nn."! C)e' %?&?&.&ORDER B nn."!/ Sa)e( %?.%&Figure K, Ca)>@)a7in< 7e median
WIT n@m!e'ed_'"G( AS 2SELECT (.* ,ROW_N0MBER23 O6ER2PARTITION B "! ORDER B (a)a':, id3 AS '"G #ROM (7a99 ( WERE >"mm & AND name LIE 5FeF53,median_'"G_n@m AS 2SELECT "! ,2MA12'"G + %.&3 3 - &. AS med_)" ,2MA12'"G + %.&3 3 + &. AS med_i ,DEC2A6;2(a)a':3,,3 AS a8<_(a) ,CO0NT2*3 AS '"G( #ROM n@m!e'ed_'"G(
;RO0P B "!3SELECT nn."! ,DEC2A6;2nn.(a)a':3,,3 AS med_(a) ,MA12m'.a8<_(a)3 AS a8<_(a) ,MA12m'.'"G(3 AS '#ROM n@m!e'ed_'"G( nn ,median_'"G_n@m m' ANSWERWERE nn."! = m'."! ========================== AND nn.'"G BETWEEN m'.med_)" JOB MED_SAL A6;_SAL R AND m'.med_i ----- -------- -------- --;RO0P B nn."! C)e' %?&?&.& %.H ORDER B nn."!/ Sa)e( %?.%& %H&.K? Figure K, ;e7 median $)@( a8e'a<e
WIT n@m!e'ed_'"G( AS 2SELECT (.* ,ROW_N0MBER23 O6ER2PARTITION B "! ORDER B (a)a':, id3 AS '"G #ROM (7a99 ( WERE >"mm & AND name LIE 5FeF53,
median_'"G_n@m AS 2SELECT "! ,MA12'"G + %3 AS med_'"G #ROM n@m!e'ed_'"G( ;RO0P B "!3SELECT nn."! ,nn.(a)a': AS med_(a) ANSWER#ROM n@m!e'ed_'"G( nn ============== ,median_'"G_n@m m' JOB MED_SALWERE nn."! = m'."! ----- --------
AND nn.'"G = m'.med_'"G C)e' %?&?&.&ORDER B nn."!/ Sa)e( %H.&Figure KK, Ca)>@)a7in< 7e median
WIT n@m!e'ed_'"G( AS 2SELECT (.* ,ROW_N0MBER23 O6ER2PARTITION B "! ORDER B (a)a':, id3 AS '"G
#ROM (7a99 ( WERE >"mm & AND name LIE 5FeF53SELECT "! ,(a)a': AS med_(a)#ROM n@m!e'ed_'"G(WERE 2"!,'"G3 IN ANSWER 2SELECT "! ============== ,MA12'"G + %3 JOB MED_SAL #ROM n@m!e'ed_'"G( ----- -------- ;RO0P B "!3 C)e' %?&?&.&ORDER B "!/ Sa)e( %H.&Figure KK&, Ca)>@)a7in< 7e median
WIT n@m!e'ed_'"G( AS 2SELECT (.* ,ROW_N0MBER23 O6ER2PARTITION B "! ORDER B (a)a':, id3 AS '"G #ROM (7a99 ( WERE >"mm & AND name LIE 5FeF53SELECT '%.*
,2SELECT '.(a)a': #ROM n@m!e'ed_'"G( ' WERE '."! = '%."! AND '.'"G = 2SELECT MA12'?.'"G + %3 #ROM n@m!e'ed_'"G( '? WERE '."! = '?."!33 AS med_(a)#ROM n@m!e'ed_'"G( '%ORDER B "! ,(a)a':/Figure KK%, Li(7 ma7>in< '"G( and median
SELECT COALESCE2name,n"name3 AS nme ANSWER ,COALESCE2(a)a':,n"(a)3 AS (a) ============#ROM 2SELECT 5NO NAME5 AS n"name NME SAL ,& AS n"(a) ------- ----
#ROM (:(i!m.(:(d@mm:% NO NAME &.&& 3AS nnnLE#T O0TER JOIN 2SELECT * #ROM (7a99 WERE id 4 3AS ON % = %ORDER B name/Figure %&&H, A)Ga:( <e7 a '"G, eam$)e % "9
WIT nnn 2n"name, n"(a)3 AS ANSWER26AL0ES 25NO NAME5,&33 ============SELECT COALESCE2name,n"name3 AS nme NME SAL ,COALESCE2(a)a':,n"(a)3 AS (a) ------- ----#ROM nnn NO NAME &.&&LE#T O0TER JOIN 2SELECT * #ROM (7a99 WERE id 4 3AS
SELECT id ANSWER ,name ===========#ROM (7a99 ID NAMEWERE id 4= %&& -- -------- AND id = 2INT2RAND23* %&3 * %&3 + %& ?& Ma'en<iORDER B id/ H& @i<)e:Figure %&%&, ;e7 'and"m '"G( - In>"''e>7
WIT 7em$ AS ANSWER2SELECT id ==================== ,name ID NAME RAN EL ,2INT2RAND2&3* %&3 * %&3 + %& AS 'an --- -------- --- --- #ROM (7a99 %& Sande'( %& WERE id 4= %&& & Pe'na) ?&3 ?& Ma'en<i &SELECT 7.* & O5B'ien %&
,CASE id & ane( ?& WEN 'an TEN 55 H& @i<)e: & ELSE 5 5 & R"7man ?& END AS e) & Jame( %&&#ROM 7em$ 7 K& ""ni7Q &ORDER B id/ %&& P)"7Q %&& Figure %&%%, ;e7 'and"m '"G( - E$)ana7i"n
WIT ANSWER(7a99_n@m!e'ed AS =========== 2SELECT (.* ID NAME ,ROW_N0MBER23 O6ER23 AS '"G --- ------- #ROM (7a99 ( %& Sande'( WERE id 4= %&& & Pe'na)3, K& ""ni7Q>"@n7_'"G( AS 2SELECT MA12'"G3 AS '"G( #ROM (7a99_n@m!e'ed
3,'and"m_8a)@e( 2RAN3 AS 26AL0ES 2RAND233 ,2RAND233 ,2RAND2333,'"G(_7&_<e7 AS 2SELECT INT2'an * '"G(3 + % AS <e7_'"G #ROM 'and"m_8a)@e( ,>"@n7_'"G(3SELECT id ,name
SELECT S0M2INTE;ER2(a)a':33 AS (% ANSWER ,INTE;ER2S0M2(a)a':33 AS ( =============#ROM (7a99/ S% S ------ ------ ?H?? ?HFigure %&&, DB da7a 7'@n>a7i"n
SELECT S0M2INTE;ER2RO0ND2(a)a':,-%333 AS (% ANSWER ,INTE;ER2S0M2(a)a':33 AS ( =============#ROM (7a99/ S% S ------ ------ ?H& ?HFigure %&%, DB da7a '"@ndin<
SELECT )a(7name ANSWER ,(e ================= ,CASE LASTNAME S1 S11 WEN (e = 5#5 TEN 5#EM5 ---------- -- --- WEN (e = 5M5 TEN 5MAL5 JE##ERSON M #EM END AS ( JONSON # #EM#ROM em$)":ee JONES M #EMWERE )a(7name LIE 5JF5ORDER B %/Figure %&, Ca(e WEN P'">e((in< - In>"''e>7
SELECT )a(7name ANSWER ,(e ================= ,CASE LASTNAME S1 S11 WEN (e = 5M5 TEN 5MAL5 ---------- -- --- WEN (e = 5#5 TEN 5#EM5 JE##ERSON M MAL END AS ( JONSON # #EM#ROM em$)":ee JONES M MAL
WERE )a(7name LIE 5JF5ORDER B %/Figure %&?, Ca(e WEN P'">e((in< - C"''e>7
SELECT A6;2(a)a':3 A6;2>"mm3 AS a% ANSWER A% A ,A6;2(a)a': >"mm3 AS a -- -----#ROM (7a99/ ? H%.KFigure %&, Di8i(i"n and A8e'a<e
SELECT i'eda7e ANSWER#ROM em$)":ee ==========WERE i'eda7e 4 5%KH&-&%-&%5 %K-&-&ORDER B %/ %KK-&-% %K-&-%HFigure %&, DATE "@7$@7 in :ea', m"n7, da: "'de'
SELECT CAR2i'eda7e,0SA3 ANSWER#ROM em$)":ee ==========WERE i'eda7e 4 5%KH&-&%-&%5 &&%KORDER B %/ &%H%K &%%KKFigure %&H, DATE "@7$@7 in m"n7, da:, :ea' "'de'
E1EC-SL DECLARE 9'ed C0RSOR #OR SELECT * #ROM (7a99 WERE id 4 %&&& ORDER B id/END-E1EC/
E1EC-SL OPEN 9'edEND-E1EC/ DO 0NTIL SLCODE = %&&/
E1EC-SL #ETC 9'ed INTO OST-6ARS END-E1EC/
I# SLCODE 4 %&& TEN DO/
SET OST-6AR.ID = OST-6AR.ID + &&/ E1EC-SL INSERT INTO (7a99 6AL0ES 2OST-6ARS3 END-E1EC/ END-DO/ END-DO/ E1EC-SL CLOSE 9'edEND-E1EC/Figure %&, Am!i<@"@( C@'("'
SELECT 'e<i"n_>"de AS 'e<i"n ,$'"d@>7_7:$e AS $7:$e ,"'de'_n@m!e' AS "'de' ,"'de'_8a)@e AS 8a)@e#ROM "'de'_7a!)eWERE "'de'_da7e = 5&&-%-5ORDER B 'e<i"n_>"de ,$'"d@>7_7:$eWIT CS/