, | |
, | |
. |
, , "" " ", "" " ".
* 1988 , "" , () (), . , , , , , , .
1.2. SQL?
(), () , , . , , , .
SQL (Structured Query Language - ) , . , , . SQL , , : .
. , , . - , . ( , , SQL.)
, , , . . , - - . , , : " ... ... ...". ( , SQL.)
"alpha", [2, 3], , :
- , , (JOIN - , INTERSECT - , SUBTRACT - ..).
- , . , ( c) , .
, , IBM ( ISBL, SQL, QBE) (PIQUE, QUEL) [3]. INGRES (Interactive Graphics and Retrieval System), 70- . . QBE (Query-By-Example - ) SQL, .
|
|
80- SQL "" . 1987 - . ?
, , , , . , .
, , , , , . ( ) , , . , - .
, , ( ) . , , , () (). . () , .
"-", () (), . , , SQL. (DB2, Oracle, Ingres, Informix, Sybase, Progress, Rdb) (, Adabas) "-" SQL. , SQL.
|
|
: SQL, , - SQL.
SQL , , ( 30) . SQL ( ) ( ). :
- ( , );
- ( SELECT);
- (, );
- ( , ). , :
- ( ), ;
- () ;
- ( ), ;
- , ( ).
- : , , , , , ..
SQL , :
INTEGER
- ( 10 );
SMALLINT
- " " ( 5 );
DECIMAL(p,q)
- , p (0 < p < 16) ; q (q < p, q = 0, );
FLOAT
- 15 , ;
CHAR(n)
- n (0 < n < 256);
VARCHAR(n)
- , n (n > 0 , 4096);
DATE
- , ( mm/dd/yy); , .. - ..;
TIME
- , , ( hh.mm.ss);
DATETIME
- ;
MONEY
- , ($, ,...) ( ), .
LOGICAL, DOUBLE . INGRES , , , , - ( , ), , , ( ) ..
SQL . (, ), ( dBASE, R:BASE ..). - 4GL. , , , , , - , (X-Windows, MS-Windows).
|
|
1.3. SQL
"", , , .. c , , (.1.2). SQL ( ) : , , , , . , , .
CREATE TABLE ( ), 5. :
. 1.2.
CREATE TABLE
( SMALLINT,
CHAR (70),
CHAR (1),
CHAR (10),
FLOAT,
SMALLINT);
CREAT TABLE , , ( , , , ). CREAT TABLE - . , , : , . , , INSERT , .1.1.
, :
SELECT ,
FROM
WHERE = '';
:
SELECT (), 2 3, , , . , , . , ( 20-24 , ..). .
, , , ,
SELECT , , , ,
((+)*4.1+*9.3)
FROM
WHERE IN ('','','','');
:
((+)*4.1+*9.3) | ||||
13. | 1. | 70. | 349.6 | |
17. | 0. | 95. | 459.2 | |
6. | 0. | 42. | 196.8 | |
9. | 0. | 20. | 118.9 |
, . , . - , (INSERT), ( ).
|
|
, , . () .
,
SELECT ,,
FROM
WHERE IN (1,3,17,23);
, ( ). (.1.3,) "": , . (.1.3,)
) | ) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. 1.3.
:
SELECT , ,
FROM , ,
WHERE . = .
AND . = .
AND = '';
[2] , ( - ). , , - , .
, .
- , , . "" . CREATE VIEW ( ), 5. _:
CREATE VIEW _
AS SELECT , ,
FROM ,,
WHERE . = .
AND . = .;
, , , , .
SELECT ,,
FROM _
WHERE = '';
, . 1.3,.
SELECT , ,
FROM _
WHERE = ' ';
, , , "" , , " -".
, - . - , , . ?
|
|
( ). , . . ,
DECLARE _ CURSOR FOR
SELECT ,,
FROM ,,
WHERE . = .
AND . = .
AND = ' ';
(OPEN _) " " , . FETCH (), , . . FETCH .. .
2.
SELECT
SELECT. SELECT (. .1.3). () SELECT .., .. . , SELECT "" SQL.
SELECT :
- , ();
- WHERE- HAVING- ( , " ");
- CREAT VIEW, DECLARE CURSOR INSERT;
- (INTO-).
SELECT, , , . ( ) :
- (*) "" - , .. " , ";
- ([]) , , , (.. );
- ({}) , , , , .. , , SQL;
- (...) , ;
- (|) . ASC|DESC , ASC DESC; , , (, [ASC]|DESC , ASC);
- (;) SQL;
- (,) ;
- () SQL;
- SQL ( ) , ;
- , , , (_);
- , ,... ( ) _, _,..., ;
- , _, ; ( ) () _ ().
SELECT () :
[UNION [ALL] ]...
[ORDER BY {[.] | __SELECT} [[ASC] | DESC]
[,{[.] | __SELECT} [[ASC] | DESC]]...;
(UNION) (ORDER BY) , "". - ASC (ASCending) DESC (DESCending), ASC.
( )
SELECT
() ( ) ()
FROM
() ,
WHERE
()
GROUP BY
( ) , , SELECT SQL- SUM (), COUNT (), MIN ( ), MAX ( ) AVG ( )
HAVING
() ,
SELECT [[ALL] | DISTINCT]{ * | _SELECT [,_SELECT]...}
FROM {_ | } []
[,{_ | } []]...
[WHERE ]
[GROUP BY [HAVING ]];
_SELECT - :
[.]* | | SQL_ | _
:
[.] | () | |
({[ [+] | - ] { | _} [ + | - | * | ** ]}...)
SQL_ :
{SUM|AVG|MIN|MAX|COUNT} ([[ALL]|DISTINCT][.])
{SUM|AVG|MIN|MAX|COUNT} ([ALL] )
COUNT(*)
WHERE :
WHERE [NOT] WHERE_ [[AND|OR][NOT] WHERE_]...
WHERE_ :
{ = | <> | < | <= | > | >= } { | () }
_1 [NOT] BETWEEN _2 AND _3
[NOT] IN { ( [,]...) | () }
IS [NOT] NULL
[.] [NOT] LIKE '_' [ESCAPE '']
EXISTS ()
(= | <> | < | <= | > | >=) WHERE BETWEEN (), LIKE ( ), IN (), IS NULL ( ) EXISTS (), NOT (). , :