.


:




:

































 

 

 

 


.




, . , , - - .

.

. . , .

, . , - . , , BETWEEN, <, >, GROUP BY, ORDER BY, MAX, MIN, COUNT.

, ( ) . , .

, , , . , , "/", "/", .

, GROUP BY JOIN.

, , , - .

 

, , , , (INSERT). , , " " -. , .

, , .

 


10, 11, 12, 13, 14

SQL

, , . , , SQL, QBE (Query-by-Example, ) (Query Language). SQL QBE IBM 70- . SQL , QBE . QUEL INGRES, , 70- .

1986 ANSI SQL. () 1989 () 1992. SQL ANSI .

SQL , , , , .

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

SQL , . , SQL .

SQL :

(, , , , )

(, , , )

(, , , , )

SQL-92 :

:

Integer -

Small integer

Numeric (p,s) -

Decimal (p,s)

, s

:

Real

Double precision

Float

:

Char

VarChar

:

Bit (n)

Varbit (n)

.

-:

Date

Time

Timestamp

Time with time zone

Timestamp with time zone ,

Interval ()

Year-month

Day-Time

.

.

, . , . . , .

CREATE DOMAIN NUMERIC(4) DEFAULT 0 CHECK (VALUE IS NOT NULL).

:

1.

2.

3. .

:

CREATE TABLE < >

(< > [{,< >}...]),

< ->::=

{< > |

| < > |

| < > |

| < > |

| < >}

. CREATE TABLE , .. .

 

:

<- >::=

< > < -> [<>]

[DEFAULT { <> | USER | NULL }]

[< - >...]

 

< - >::=

NOT NULL [UNIQUE | PRIMARY KEY]

| <- >

| CHECK (<->)

, , , . , ; USER, , ( ); NULL, , .

:. REFERENCES < > [(< >)]

.

:

< >::=

< {UNIQUE | PRIMARY KEY} (< >)

< >::=

FOREIGN KEY (< >) REFERENCES < > [(< >)]

< >::=

CHECK (<->)

, , . , SQL.

T , .

, , NOT NULL.

CREATE TABLE

( PRIMARY KEY,

char (12) NOT NULL,

numeric (5,2),

char (12),.

numeric(4),

FOREIGN KEY REFERENCES ON DELETE SET NULL;

CREATE TABLE

( PRIMARY KEY,

char (20),.

char (10) DEFAULT

CHECK ( IN ,,, ),.

numeric(2),

numeric(1) DEFAULT 1 CHECK (>0 AND <4)

CREATE TABLE

( ,

,

date,

interval date(3),

PRIMARY KEY (, ),

FOREIGN KEY REFERENCES ON DELETE CASCADE;

FOREIGN KEY REFERENCES ON DELETE CASCADE);

 

. ,

, . , , .

, , PRIMARY KEY UNIQUE. , , .

, , . , "" , .

, INSERT UPDATE , . , . . (NULL) , NULL , NOT NULL. . (DELETE) , .

ANSI , , . , , , .

ON DELETE CASCADE , , , , .

ON DELETE ( ) ON UPDATE ( ) :

RESTRICT -,

CASCADE - -

SET NULL -

SET DEFAULT - , .

 

DROP TABLE .

ALTER < >

ADD/DROP (< > < >

[,< > < >...]);

. , , .

ALTER TABLE DROP FOREIGH KEY

ALTER TABLE DROP PRIMARY KEY ADD PRIMARY KEY ()

, , .

, , . , .

 
 
 

 

1, 3
 

.

, . , . , . . , , . . , . .

CREATE INDEX ON ( [{ASC | DESC}] [, [{ASC | DESC}]])

DROP INDEX .

 

INSERT, UPDATE DELETE, , , , .

INSERT , .

INSERT INTO [()] {VALUES () |

SELECT}

, . , , NULL. NULL , NULL.

INSERT INTO VALUES(1001, ,5.4,,1200)

 

DELETE

DELETE FROM [WHERE ]

WHERE, . .

.

DELETE FROM WHERE =

 

UPDATE

UPDATE SET {= [,=]}

[WHERE ]

UPDATE SET =6.0 WHERE =

 

, .

. ?

select from where =

select , . , . , .

FROM , . SELECT , FROM. SQL92 , , SQL. FROM.

WHERE , .

: FROM, WHERE, SELECT.

, DISTINCT.

.

SELECT DISTINCT FROM

. .

SELECT * FROM WHERE =

.

. ?

SELECT , =, 40*

FROM

WHERE =

ORDER BY

SELECT.

ORDER BY - , DESC. , , .

, , . ORDER BY SELECT.

 

. 3 5 ?

SELECT * FROM WHERE >=3 and <=5

6 =, <, >, <>, >=, <=. AND, OR NOT. .

BETWEEN.

SELECT * FROM WHERE BETWEEN 3 and 5

BETWEEN .

. , .

SELECT * FROM

WHERE IN ('','','')

IN , .

-. , , .

. , .

SELECT * FROM WHERE LIKE (%')

SQL : % _. . , .

.

SELECT * FROM WHERE LIKE ( ____')

4 .

. ,

SELECT * FROM WHERE LIKE (%')

LIKE ESCAPE, x, "x_" "x%" "_" "%", .

SELECT *

FROM

WHERE LIKE %/_% ESCAPE /;

, _.

 

NULL true false. "x IS NULL" true , x . "x NOT IS NULL" "NOT x IS NULL".

 

. , 345?

, ,

SELECT FROM ,

WHERE .=. and =345

FROM. , . WHERE. . , . , .

. , .

SELECT FROM , ,

WHERE .=. and .=. and =''

.

. , .

SELECT ., . FROM ,

WHERE .=.

FROM , . .

 

.

. , 345?

SELECT FROM

WHERE IN

(SELECT FROM

WHERE =345)

SELECT . WHERE .

, , . , .

, .

.

.. , .

SELECT FROM

WHERE IN

(SELECT FROM

WHERE IN

(SELECT FROM

WHERE ='))

, .

.

 

, , .

. , , .

SELECT FROM A

WHERE A. >

(SELECT . FROM

WHERE .=.)

:

1. . , .

2. . , WHERE. , , , , .

3. , , . . . , . , . , .

 

EXISTS

, .

SELECT FROM WHERE <>345

, .

:

SELECT FROM

WHERE NOT EXISTS

(SELECT * FROM

WHERE .=. AND

<>345)

EXISTS (NOT EXISTS) . EXISTS true false, true , .

. , IN

SELECT FROM

WHERE NOT IN

(SELECT FROM

WHERE .=. AND

<>345)

, EXISTS, . , . , .

, .

SQL . : , , .

SELECT FROM

WHERE NOT EXISTS

(SELECT FROM

WHERE NOT EXISTS

(SELECT * FROM

WHERE .=. AND

.=.

 

<> < > <> <>

- ALL SOME(ANY).

x , S - .

"x < > ALL S" true, S "x < > s" true s, S. "x < > ALL S" false, "x < > s" false s, S.

"x < > SOME S" false, S "x < > s" false s, S. "x < > SOME S" true, "x < > s" true s, S.

. , :

SELECT FROM

WHERE >= ALL

(SELECT FROM

WHERE .=.)

 

SQL 5 , . MAX, MIN, AVG, SUM, COUNT.

.

SELECT MAX(), MIN() FROM

COUNT . .

. ?

SELECT COUNT(*)FROM WHERE =

, , DISTINCT.

. ?

SELECT COUNT(DISTINCT ) FROM

AVG SUM . , COUNT, .

 

.

SELECT , MAX() FROM

GROUP BY

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

SELECT , GROUP BY.

, AVG(MAX()) . . , .

GROUP BY WHERE, GROUP BY. , GROUP BY. HAVING.

. , , .

SELECT , MAX() FROM

GROUP BY

HAVING COUNT(*)>1

WHERE HAVING , WHERE , HAVING .

WHERE, HAVING. WHERE .

 

SELECT HAVING. SELECT c .

. ?

SELECT FROM

WHERE >

(SELECT AVG() FROM )

.

. ?

SELECT . FROM

WHERE .>

(SELECT AVG(.) FROM

WHERE .=.)

 

.

, , . SQL , .

. 1 - , , 2 , , . .

SELECT , FROM T1

UNION

SELECT , FROM T2

, . , UNION ALL.

. .

SELECT FROM T1

INTERSECT

SELECT FROM T2

. ALL.

. , .

SELECT FROM T1

EXCEPT

SELECT FROM T2

 

:

. , 10.05.00

SELECT

FROM JOIN ON .=.

WHERE =10.05.00

. , .

SELECT

FROM LEFT JOIN ON .=.

WHERE . IS NULL

 

. , .

. . .

CREATE VIEW [( )]

AS SELECT

[WITH CHECK OPTION]

, SELECT.

.

CREATE VIEW

AS SELECT , , FROM .

, . SELECT? , .

.

CREATE VIEW

AS SELECT , ,

FROM JOIN ON .=.

WHERE =

.

. 345?

SELECT FROM WHERE =345.

.

.

CREATE VIEW (, )

AS SELECT, ()

FROM

GROUP BY

, .

 





:


: 2016-11-24; !; : 328 |


:

:

, .
==> ...

1357 - | 1129 -


© 2015-2024 lektsii.org - -

: 0.228 .