Download - 第 4 章 数据库的查询和视图
-
4.1.1 Selection4.1 4.1
4.1
104215 741042118210421088
-
804.2
4.2
10421182
-
4.2 4.14.3
4.3
748288
-
JOIN4.3 AB4.44.5T1=T34.6
4.4 A
4.5 B
4.6
T1T21A6F2B
T3T4T513M20N
T1T2T3T4T51A13M2B20N
-
4.4 AB4.74.8C4.9
4.7 A
4.8 B
4.9 C
T1T2T310A1B15A1C220D2C2
T1T4T5T61100A1D11002B2C1200A2D1510A2C2
T1T2T3T4T5T65A1C210A2C220D2C20A2D1
-
SELECTPL/SQLSELECTSELECT select_list /**/FROM table_source /*FROM*/[ WHERE search_condition ] /*WHERE*/[ GROUP BY group_by_expression ] /*GROUP BY*/[ HAVING search_condition ] /*HAVING*/[ ORDER BY order_expression [ ASC | DESC ]] /*ORDER*/
-
SELECTSELECTSELECT [ ALL | DISTINCT ] select_listselect_list{ * /**/ | { table_name | view_name | table_alias } . * /**/ | { colume_name | expression } [ [ AS ] column_alias ] /**/ | column_alias = expression /**/} [ , n ]
-
1SELECTSELECT column_name [ , column_name [,n] ]FROM table_name[WHERE search_condition]4.5 XSCJXSXMXHZXFSQL Developersystem_oraSQL WorksheetSELECT XH, XM, ZXF FROM XSB;
-
4.1ResultsXSB
4.1 XSB
-
4.6 XSBZXF50XHXMZXFSELECT XH, XM, ZXFFROM XSBWHERE ZXF>50;
-
4.7 XSBSELECT * FROM XSB;SELECT XH, XM, XB,CSSJ, ZY, ZXF,BZFROM XSB;
-
24.8 XSBXHXMZXFSELECT XH AS ,XM AS ,ZXF AS FROM XSBWHERE ZY= '';ASSELECT XH , XM , ZXF FROM XSBWHERE ZY='';
-
3SELECTSELECTSELECT expression [ , expression ]4.9 CP4.10
4.10 CP
CPBHchar(8)CPMCchar(12)JGnumber(8)KCLnumber(4)
-
CP4.114.11 CP
CPBHCPMCJGKCL10001100A_1001500.0050010002120A_2001850.0020020011001K_12002680.0030020012000K_21003200.00100030003001L_1505000.0010010001200B_2001600.00120010001102C_2101890.0060030004100L_2104800.0020020001002K_30013800.0028020011600K_16004200.001500
-
SELECT CPMC AS , JG * KCL ASFROM CP;+-*/SELECT CPBH, JG*0.8 FROM CP8
-
4XSCJXSBZYZXFDISTINCTSELECT DISTINCT column_name [ , column_name]DISTINCT4.10 XSCJXSBZYZXFSELECT DISTINCT ZY AS ,ZXF AS FROM XSB;
-
4.11 SELECTXSCJXSBZYZXFSELECT ALL ZY AS ,ZXF AS FROM XSB;
-
WHEREFROMWHERE { [ NOT ] | ( ) } [ { AND | OR } [ NOT ] { | () } ]} [ ,n ]TRUEFALSEUNKNOWN{ expression { = | < | | >= | | != } expression /**/ | string_expression [ NOT ] LIKE string_expression [ ESCAPE 'escape_character' ] /**/ | expression [ NOT ] BETWEEN expression AND expression /**/ | expression IS [ NOT ] NULL /**/ | expression [ NOT ] IN ( subquery | expression [,n] ) /*IN*/ | EXIST ( subquery ) /*EXIST*/}
-
17==!=expression { = | < | | >= | | != } expression4.12 CP500SELECT * FROM CP WHERE KCL >500; XSB42SELECT * FROM XSB WHERE ZY= '' AND ZXF>=42;
-
2LIKEcharvarchar2dateTRUEFALSELIKEstring_expression [ NOT ] LIKE string_expression [ ESCAPE escape_character ]4.13 CPSELECT * FROM CP WHERE CPMC4.14 XSB LIKE '%%';SELECT * FROM XSB WHERE XM LIKE '_';
-
3BETWEENINBETWEENBETWEENexpression [ NOT ] BETWEEN expression1 AND expression2NOTexpressionexpression1expression2TRUEFALSENOT
-
4.15 CP20004000SELECT * FROM CP WHERE JG BETWEEN 2000 AND 4000; XSB1989SELECT * FROM XSB WHERE CSSJ NOT BETWEEN TO_DATE('19890101', 'YYYYMMDD') AND TO_DATE('19891231', 'YYYYMMDD');INTRUEFALSEINexpression IN ( expression [,n])
-
4.16 CP200300500SELECT * FROM CP WHERE KCL IN (200,300,500);SELECT * FROM CP WHERE KCL=200 OR KCL=300 OR KCL=500;
-
4IS NULLexpression IS [ NOT ] NULLNOTexpressionTRUEFALSENOT4.17 XSCJSELECT * FROM XSB WHERE ZXF IS NULL;
-
51ININexpression [ NOT ] IN ( subquery )subqueryexpressionsubqueryINTRUEFALSENOT4.18 XSCJ101SELECT * FROM XSBWHERE XH IN ( SELECT XH FROM CJB WHERE KCH = '101' );SELECTSELECT XH FROM CJB WHERE KCH = '101';
-
4.19 SELECT XH, XM, ZY, ZXF FROM XSBWHERE XH NOT IN ( SELECT XHFROM CJBWHERE KCH IN ( SELECT KCH FROM KCB WHERE KCM = '' ));
- 2INexpression { < | | >= | != | } { ALL | SOME | ANY } ( subquery )expressionsubqueryALLSOMEANY4.20 SELECT * FROM XSBWHERE CSSJ
-
4.21 206101SELECT XH FROM CJBWHERE KCH = '206' AND CJ>= ANY ( SELECT CJ FROM CJB WHERE KCH = '101');
-
3EXISTSEXISTSEXISTSTRUEFALSEEXISTSNOTNOT EXISTSEXIST[ NOT ] EXISTS ( subquery )4.22 206SELECT XM FROM XSB WHERE EXISTS ( SELECT * FROM CJB WHERE XH=XSB.XH AND KCH= '206' );
-
4.23 SELECT XM FROM XSB WHERE NOT EXISTS ( SELECT * FROM KCB WHERE NOT EXISTS ( SELECT * FROM CJB WHERE XH=XSB.XH AND KCH=KCB.KCH) );
1 2
-
Select kcmFrom kcbWhere not exists(select * from xsb where not exists(select * from cjb where kcb.kch=cjb.kch and xsb.xh=cjb.xh))Select kcmFrom kcbWhere exists(select * from xsb where not exists(select * from cjb where kcb.kch=cjb.kch and xsb.xh=cjb.xh))
-
4.24 101102yx101102ySELECT DISTINCT XHFROM CJB CJ1WHERE NOT EXISTS( SELECT *FROM CJB CJ2WHERE CJ2.XH ='101102' AND NOT EXISTS ( SELECT *FROM CJB CJ3WHERE CJ3.XH= CJ1.XH AND CJ3.KCH = CJ2. KCH));
95002Y95001X
-
Select xm from xsb where Not exists(select * from cjb where xsb.xh=cjb.xh and xsb.xh=950002
- 4.25 XSB199011SELECT XM, ZYFROM (SELECT * FROM XSBWHERE CSSJ
-
1SELECTWHERE4.26 XSCJSELECT XSB.* ,CJB.* FROM XSB , CJB WHERE XSB.XH=CJB.XH;=!==
-
4.27 SELECT XSB.* , CJB.KCH, CJB.CJ FROM XSB , CJB WHERE XSB.XH=CJB.XH;SELECTSELECT XSB.* , KCH , CJ FROM XSB , CJB WHERE XSB.XH = CJB.XH;
-
4.28 20680SELECT XM AS ,CJ AS FROM XSB , CJB WHERE XSB.XH = CJB.XH AND KCH = '206 ' AND CJ >= 80;
-
4.29 80SELECT XSB.XH, XM, KCM, CJ FROM XSB, KCB, CJB WHERE XSB.XH = CJB.XH AND KCB.CH = CJB. KCH AND KCM = '' AND CJ >= 80;
-
2JOINPL/SQLJOIN ON | CROSS JOIN | table_sourcejoin_typeONjoin_type[ INNER | { LEFT | RIGHT | FULL } [ OUTER ] [ ] CROSS JOIN
-
1ON4.30 XSCJSELECT * FROM XSB INNER JOIN CJB ON XSB.XH = CJB.XH;4.31 FROMJOIN20680SELECT XM , CJ FROM XSB JOIN CJB ON XSB.XH = CJB.XH WHERE KCH = '206' AND CJ>=80;
-
4.32 FROMJOIN80SELECT XSB.XH , XM , KCM , CJ FROM XSB JOIN CJB JOIN KCB ON CJB.KCH = KCB.KCH ON XSB.XH = CJB.XH WHERE KCM = '' AND CJ>=80;4.33 SELECT a.XH,a.KCH,b.KCH,a.CJ FROM CJB a JOIN CJB b ON a.CJ=b.CJ AND a.XH=b.XH AND a.KCH!=b.KCH;
-
2 LEFT OUTER JOIN RIGHT OUTER JOIN FULL OUTER JOIN
-
4.34 SELECT XSB.* , KCH FROM XSB LEFT OUTER JOIN CJB ON XSB.XH = CJB.XH;NULL4.35 SELECT CJB.* , KCM FROM CJB RIGHT JOIN KCB ON CJB.KCH= KCB.KCH;
-
3124.36 SELECT XH, XM, KCH, KCM FROM XSB CROSS JOIN KCB;
-
11SUMAVGSUMAVGSUM / AVG ( [ ALL | DISTINCT ] expression )4.37 101SELECT AVG(CJ) AS 101 FROM CJB WHERE KCH='101';
-
2MAXMINMAXMINMAX / MIN ( [ ALL | DISTINCT ] expression )4.38 101SELECT MAX(CJ) AS 101, MIN(CJ) AS 101 FROM CJB WHERE KCH='101';
-
3COUNTCOUNTCOUNT ( { [ ALL | DISTINCT ] expression } | * )4.39 SELECT COUNT(*) AS FROM XSB;COUNT(*) SELECT COUNT(DISTINCT XH) AS FROM CJB;
-
85SELECT COUNT(CJ) AS 85 FROM CJB WHERE CJ>=85 AND KCH= ( SELECT KCH FROM KCBWHERE KCM= '');
-
2GROUP BYGROUP BYGROUP BY [ ALL ] group_by_expression [,n]group_by_expressionALLGROUP BYSELECTGROUP BY4.40 XSCJSELECT ZY AS FROM XSB GROUP BY ZY;
-
4.41 XSCJSELECT ZY AS ,COUNT(*) AS FROM XSB GROUP BY ZY;4.42 SELECT KCH AS , AVG(CJ) AS ,COUNT(XH) AS FROM CJB GROUP BY KCH;
-
3HAVINGHAVING[ HAVING ] search_conditionWHEREHAVINGWHERE4.43 XSCJ85SELECT XH AS , AVG(CJ) AS FROM CJB GROUP BY XH HAVING AVG(CJ)>=85;
-
4.44 80SELECT XH AS FROM CJB WHERE CJ>=80 GROUP BY XH HAVING COUNT(*) > 2;CJB802
-
4.45 85SELECT XH AS ,AVG(CJ) AS FROM CJB WHERE XH IN ( SELECT XH FROM XSB WHERE ZY= '') GROUP BY XH HAVING AVG(CJ) > =85;
-
SELECTORDER BYORDER BY[ ORDER BY { order_by_expression [ ASC | DESC ] } [ ,n ]4.46 SELECT * FROM XSB WHERE ZY= '' ORDER BY CSSJ;
-
4.47 SELECT XM AS , KCM AS , CJ AS FROM XSB, KCB, CJB WHERE XSB.XH=CJB.XH AND CJB.KCH= KCB.KCHAND KCM= '' AND ZY= '' ORDER BY CJ DESC;
-
UNIONSELECT{ | ( ) }UNION [ A LL ] | ( ) [ UNION [ A LL ] | ( ) [n] ]query specificationquery expressionSELECTUNION 12
-
4.48 101101101210SELECT *FROM XSBWHERE XH= '101101'UNION ALLSELECT *FROM XSBWHERE XH= '101210'
-
4.3.1 12345
-
1OEM1OEM2CS_XSSYSTEMSQL4.2
-
34.34.3
-
44.4
-
2SQL DeveloperSQL DeveloperCS_XSSQL Developersystem_oraViewsNew ViewSchemaNameSQL QuerySQL4.5DDLSQL
-
ViewsCS_XSData4.6
4.6 CS_XS
-
3CREATE VIEWPL/SQLCREATE OR REPLACE VIEWCREATE [ OR REPLACE ] [FORCE | NOFORCE] VIEW [schema.]view_name [ ( column_name [ ,n ] ) ]AS select_statement[WITH CHECK OPTION[CONSTRAINT constraint_name]][WITH READ ONLY]select_statement
-
4.49 CS_KC CREATE OR REPLACE VIEW CS_KC AS SELECT XSB.XH, KCH, CJ FROM XSB, CJB WHERE XSB.XH=CJB.XH AND ZY= '' WITH CHECK OPTION;4.50 CS_KC_AVGnumscore_avgCREATE OR REPLACE VIEW CS_KC_AVG(num, score_avg) AS SELECT XH, AVG(CJ) FROM CJB GROUP BY XH;
-
4.51 SELECT XH,KCH FROM CS_KC;4.52 80XS_KC_AVGnumscore_avgCREATE OR REPLACE VIEW XS_KC_AVG ( num,score_avg ) AS SELECT XH, AVG(CJ) FROM CJBGROUP BY XH;
-
XS_KC_AVGSELECT * FROM XS_KC_AVG WHERE score_avg>=80;
-
112SELECTGROUP BYONNECT BYSTART WITHDISTINCT3SELECT4CS_XSCS_KCCS_KC_AVG4.53 XSCJCS_XS1CREATE OR REPLACE VIEW CS_XS1 AS SELECT * FROM XSB WHERE ZY= '';
-
2INSERT4.54 CS_XS'101115''''''1984-3-2'50''INSERT INTO CS_XSVALUES('101115', '', '',TO_DATE('19890302','YYYYMMDD'), '',50, '');SELECTCS_XSXSBSELECT * FROM XSB;
-
3UPDATE4.55 CS_XS8UPDATE CS_XS SET =+ 8;CS_XSXSB84.56 CS_KC10110110190UPDATE CS_KC SET CJ=90 WHERE XH='101101' AND KCH='101';CS_KCXSBCJBCS_KCXSBCJBUPDATE CS_KC SET XH='101120', KCH='208' WHERE CJ=90;
-
4DELETEDELETECS_KCDELETEXSBCJB4.57 CS_XSDELETE FROM CS_XS WHERE XB='';
-
1OEM2SQL DeveloperViewsEditEdit ViewSQL QuerySELECT4.7
-
3SQL4.58 CS_KCCREATE OR REPLACE FORCE VIEW CS_KCASSELECT XS.XH, XS.XM, XS_KC.KCH, KC.KCM, CJFROM XS, XS_KC, KCWHERE XS.XH=XS_KC.XH AND XS_KC.KCH=KC.KCH AND ZYM=''WITH CHECK OPTION;
-
1OEM2SQL DeveloperDrop(D)3SQLPL/SQLDROP VIEWDROP VIEW [schema.]view_nameschemaview_nameDROP VIEW CS_KC;CS_KC
-
4.4.1 1&SELECT&SELECT4.59 XSCJXSBSELECT XH AS , XM AS FROM XSBWHERE ZY=&specialty_name;SQL*Plus4.8
-
SELECTSELECT XH AS , XM AS FROM XSBWHERE ZY='&specialty_name';SET VERIFY4.60 80SET VERIFY ONSELECT * FROM XS_KC_AVG WHERE score_avg>=&score_avg;4.9
4.9 WHERE1ORDER BY234SELECT
-
4.61 SELECT XSB.XH, &name, KCM, &columnFROM XSB, KCB, CJBWHERE XSB.XH=CJB.XH AND &conditionAND KCM=&kcmORDER BY & column;4.10
4.10
-
2&&&&4.62 75SELECT &&columnFROM CJBWHERE CJ>=75GROUP BY &columnHAVING COUNT(*)>2;4.11
-
3DEFINEACCEPT1DEFINECHARUNDEFINEDEFINE [variable[=value]]4.63 specialtyDEFINE specialty=DEFINE specialtyDEFINE SPECIALTY = "" (CHAR)4.64 specialtySELECT XH, XM, XB, CSSJ, ZXFFROM XSBWHERE ZY= '&specialty';
-
2ACCEPTACCEPTNUMBERDATEACCEPT variable [datatype] [FORMAT format] [PROMPT text] [HIDE]4.65 ACCEPTnumACCEPT num PROMPT ''4.12
-
1SET LINESIZE801325030SET PAGESIZE556030SET LINESIZE 50SET PAGESIZE 302TTITLETTITLE|TTITLE ''
-
3BTITLE'---report1.sql---'BTITLE '---report1.sql---' RIGHT4.66 report1SELECT XSB.XH, XM, KCM, CJFROM XSB JOIN CJB JOIN KCB ON CJB.KCH=KCB.KCHON XSB.XH=CJB.XHWHERE KCM= '';
-
4.13
-
4COLUMNXSBXHXMCOLUMN XH FORMAT a8 WRAP HEADING ''COLUMN XM FORMAT a8 HEADING ''SELECT XH, XM, XB, CSSJ, ZYFROM XSBWHERE ZXF>=50;
-
4.14