.


:




:

































 

 

 

 


2




,
,
.

, , "" " ", "" " ".

* 1988 , "" , () (), . , , , , , , .

1.2. SQL?

(), () , , . , , , .

SQL (Structured Query Language - ) , . , , . SQL , , : .

. , , . - , . ( , , SQL.)

, , , . . , - - . , , : " ... ... ...". ( , SQL.)

"alpha", [2, 3], , :

  1. , , (JOIN - , INTERSECT - , SUBTRACT - ..).
  2. , . , ( 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 (). , :





:


: 2016-11-02; !; : 326 |


:

:

,
==> ...

1889 - | 1804 -


© 2015-2024 lektsii.org - -

: 0.094 .