Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Karpova_bazy_dannyh

.pdf
Скачиваний:
56
Добавлен:
08.05.2015
Размер:
38 Мб
Скачать
☆

81

(Null) -

, . -

, , -

,

.

«, - ». SELECT .

SELECT

FROM R1

WHERE IS NULL

. .

SQL ,

. -

. -

? -

, ,

, .

, R1 .

4 , -

, , ,

.

.

. - 5.7.

5.7.

COUNT ,

SUM

AVG

MIN

MAX

 

82

 

5.

SQL.

 

 

 

 

 

 

 

 

 

R1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

. .

 

 

5

 

 

 

 

 

 

 

 

 

 

. .

 

 

4

 

 

 

 

 

 

 

 

 

 

. .

 

 

2

 

 

 

 

 

 

 

 

 

 

. .

 

 

2

 

 

 

 

 

 

 

 

 

 

. .

 

 

5

 

 

 

 

 

 

 

 

 

 

. .

 

 

5

 

 

 

 

 

 

 

 

 

2

. .

 

 

4

 

 

 

 

 

 

 

 

 

 

. .

 

 

2

 

 

 

 

 

 

 

 

 

 

. .

 

 

5

 

 

 

 

 

 

 

 

 

 

. .

 

 

Null

 

 

 

 

 

 

 

 

 

3

. .

 

 

4

 

 

 

 

 

 

 

 

 

 

. .

 

 

5

 

 

 

 

 

 

 

 

 

 

. .

 

 

5

 

 

 

 

 

 

 

 

 

4

. .

 

 

4

 

 

 

 

 

 

 

 

 

 

. .

 

 

5

 

 

 

 

 

 

 

 

 

 

. .

 

 

3

 

 

 

 

 

 

 

 

 

 

. .

 

 

5

 

 

 

 

 

 

 

 

 

 

 

SELECT,

:

.

 

SUM

AVG

.

 

C0UNT, MAX

MIN

,

.

-

 

MIN

 

 

ASCII-. , ANSI .

, , -

. «» - . * - COUNT .

SELECT R1 OUN (*)

FROM R1

GROUP BY R1

:

83

COUNT (*)

6

4

3

4

--

, -

.

.

SELECT R1 . COUNT (*) FROM R1

WHERE Rl IS NOT NULL GROUP BY Rl

:

COUNT (*)

6

3

3

4

. .

 

Null

 

 

 

,

«» 1 . -

,

. «» ( R1, R2, R3), :

SELECT COUNT (*)

FROM R1

WHERE > 2.

, , , -

, , . -

.

84

5.

SQL.

, , ,

, DISTINCT

. , -

.

SELECT R1 CQUNT (DISTINCT R1 )

FROM R1

WHERE R1 IS NOT NULL

GROUP BY R1

:

COUNT (DISTINCT R1 )

3

3

2

3

 

 

-

,

 

.

 

.

-

 

 

-

.

,

-

.

SELECT R2 R1 COUNT (*) AVR() FROM R1 R2

WHERE R1 = R2 AND R1 IS NOT NULL AND R1 > 2

GROUP Y R2 R1

:

COUNT (*)

AVR (

)

6

3,83

 

3

3,67

 

3

4,66

 

4

4,25

 

WHERE, -

, -

.

85

GROUP Y

.

-

SELECT.

SELECT, -

HAVING.

. , -

,

.

, ,

.

SELECT R2

FROM R1 R2

WHERE R1 = R2 AND

R1 = 2

GROUP Y R2 R1

HAVING Count (*)> 1

 

 

«

»,

 

«

»,

F,

F,

-

.

F=(N, , , , ),

Q = (, ),

.

, , -

.

,

SUM() . GROUP BY, ,

.

SELECT SUM ()

FROM F

GROUP Y

GROUP BY

 

 

,

-

 

.

 

 

-

,

SUM

 

 

 

,

 

 

 

 

.

,

GROUP BY,

 

,

,

 

,

 

-

.

 

 

 

.

 

GROUP BY

.

 

,

 

 

-

 

,

$6000.

 

 

 

 

86

5.

SQL.

 

 

$5000,

 

 

HAVING.

HAVING

,

,

-

,

 

WHERE

-

.

 

 

 

 

.

SELECT SUM (0)

FROM F

GROUP BY

HAVING SUM () > 5000

HAVING ,

SELECT, GROUP BY.

.

. SELECT SUM() FROM F

GROUP BY

HAVING = 27 /12/1999

HAVING, -

. -

 

,

HAVING

,

GROUP BY.

-

.

SELECT SUM ()

FROM F

WHERE =27/12/1999

GROUP BY

:

, 27 1999 .

, HAVING ,

. ,

, , GROUP BY,

. , -, .

SELECT

SUM (

 

)

FROM F Q

 

 

 

WHERE F

= Q

 

 

GROUP BY

 

 

 

HAVING

IN (

-

)

, - HAVING , -

87

, GROUP BY. -

-

COUNT, SUH, AVG, MIN ,

. , HAVING, -

 

 

 

,

 

 

 

.

 

HAVING

 

,

 

,

 

-

TRUE.

,

HAVING

-

,

GROUP BY,

 

-

 

,

 

 

, -

.

«»

.

SQL . -

,

( WHERE HAVING), ,

. EXISTS, , .

 

 

,

-

,

 

 

-

.

FROM

SELECT

-

 

,

 

 

. -

AS, . FROM :

FROM R1 AS A R1 AS

FROM R1 A R1

SELECT

 

R1.

 

 

,

,

SQL

«

».

, .

SELECT

FROM R1 as a

WHERE >

GROUP Y

HAVING COUNT (*) = (SELECT COUNT (*)

88

5.

SQL.

FROM R2 R3

WHERE R2 =R AND =a )

,

, ,

, ,

.

, , .

SELECT

 

 

 

 

 

FROM R2 a

R3

 

 

 

 

WHERE R2

=R3

AND

="

" AND NOT EXISTS (SELECT

 

 

FROM R1

 

 

 

 

 

 

WHERE

=

AND

=

 

 

 

EXISTS (Sub Query)

,

Sub Query

,

 

 

 

,

 

EXISTS

.

 

NOT EXISTS

 

 

,

Sub

Query

.

 

 

 

 

 

, NOT EXISTS -

. , -

«» .

, -

, SP «- » :

SP (__) (_)

«, - »:

SELECT DISTINCT _ FROM SP SP1

WHERE NOT EXISTS (SELECT __

FROM P

WHERE NOT EXISTS (SELECT * FROM SP SP2

WHERE SP2 _=S1 _ AND Sp2 _ = P _))

: «

 

,

,

».

,

 

 

-

.

89

SELECT DISTINCT _ FROM SP

GROUP BY _

HAVING Count (DISTINCT _) (SELECT Count (_)

FROM P)

SQJL92 -

ANY ALL. -

, -

.

ANY, , ,

,

 

 

-

.

ALL

,

-

 

 

 

.

, , ,

«». «»,

R4, -

.

R1= (, , ); R2= (, );

R3= (, );

R4= (, , . ., )

Select RI

From R1

Where 4 >= All (Select R1 From R1 as R11

Where R1 = R11 ) .

, ,

.

Select R1

From R1

Where R1 >= ANY (Select R4

From R4

Where R1 = R4 AND R1 = R4 )

SQL2 . SQL1

, -

90

5.

SQL.

WHERE SELECT, -

-

, . -

, - , -

,

. , () , -

.

, SQL1,

.

FROM SQL2

:

FROM <> |

< > | < > | < > |

< >

<

 

> = <

_

_1> [

_1] []

[<

_

_n>[ <

 

> ] ]

 

<

 

 

> =

 

 

<

_

_1> NATURAL

{INNER

| FULL

[OUTER] |

LEFT[COUTER] | RIGHT [OUTER]} JOIN <

_

_2>

<

 

 

> = <

_

_2>

CROSS JOIN <__2>

<> =

<__1> UNION JOIN <__2>

< = < 1> {INNER | FULL [OUTER] | LEFT [OUTER] | RIGHT [OUTER]}

JOIN {ON | [USING ()]} <__2> INNER , LEFT

 

,

 

1,

-

 

,

 

 

-

2,

 

NULL (

).

 

RIGHT

 

 

,

-

 

 

 

 

-

2,

 

1

 

-

.

FULL

 

 

,

. ,

1, , -

2, .

91

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]