Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΏΡ€Π°Π²ΠΊΠ° ΠΏΠΎ SQLΒ»

Автор W Cat

Π‘ΠΏΡ€Π°Π²ΠΊΠ° ΠΏΠΎ SQL

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SELECT


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SELECT


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SELECT осущСствляСт Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ структуру срСди всСх ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² языка SQL. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ любой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π² состоянии Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SELECT Ρ‚ΠΈΠΏΠ°


SELECT * FROM PC;


ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ осущСствляСт Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ всСх записСй ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π‘Π” Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° с ΠΈΠΌΠ΅Π½Π΅ΠΌ PC. ΠŸΡ€ΠΈ этом столбцы ΠΈ строки Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π½Π΅ упорядочСны. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ поля Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π°, ΠΈΡ… слСдуСт ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ Π² Π½ΡƒΠΆΠ½ΠΎΠΌ порядкС послС слова SELECT:


SELECT price, speed, hd, ram, cd, model, code

FROM Pc;


НиТС приводится Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этого запроса.


price

speed

hd

ram

cd

model

code

600.0

500

5

64

12x

1232

1

850.0

750

14

128

40x

1121

2

600.0

500

5

64

12x

1233

3

850.0

600

14

128

40x

1121

4

850.0

600

8

128

40x

1121

5

950.0

750

20

128

50x

1233

6

400.0

500

10

32

12x

1232

7

350.0

450

8

64

24x

1232

8

350.0

450

10

32

24x

1232

9

350.0

500

10

32

12x

1260

10

980.0

900

40

128

40x

1233

11


Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π C ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, Ссли ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ поля. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎ скорости процСссора ΠΈ объСмС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², слСдуСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запрос:


SELECT speed, ram FROM PC;


ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π΅Ρ€Π½Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅:


speed

ram

500

64

750

128

500

64

600

128

600

128

750

128

500

32

450

64

450

32

500

32

900

128


УстранСниС Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ². ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DISTINCT.


Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ строк Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΠ½Π° Π½Π΅ содСрТит ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°, ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π³ΠΎ запись. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ PC ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ являСтся ΠΏΠΎΠ»Π΅ code, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΏΠΎΠ»Π΅ отсутствуСт Π² запросС, Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ Π½Π°Π±ΠΎΡ€Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ строк (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, строки 1 ΠΈ 3). Если трСбуСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ строки (скаТСм, нас ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ скорости процСссора ΠΈ объСма памяти, Π° Π½Π΅ характСристики всСх ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ²), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово DISTINCT:


SELECT DISTINCT speed, ram FROM Pc;


Ρ‡Ρ‚ΠΎ даст Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:


speed

ram

450

32

450

64

500

32

500

64

600

128

750

128

900

128


Помимо DISTINCT ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово ALL (всС строки), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ принимаСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π°. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ORDER BY.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ строки Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сортировку ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ количСству ΠΏΠΎΠ»Π΅ΠΉ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ SELECT. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ORDER BY , ΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ всСгда послСдним ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ SELECT. ΠŸΡ€ΠΈ этом Π² спискС ΠΏΠΎΠ»Π΅ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΈΡ… порядковыС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² спискС прСдлоТСния SELECT. Π’Π°ΠΊ Ссли трСбуСтся ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π² порядкС убывания, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ


SELECT DISTINCT speed, ram

FROM Pc

ORDER BY ram DESC


ΠΈΠ»ΠΈ


SELECT DISTINCT speed, ram

FROM Pc

ORDER BY 2 DESC


Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅.


speed

ram

600

128

750

128

900

128

450

64

500

64

450

32

500

32


Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ASC принимаСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) ΠΈΠ»ΠΈ ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ DESC). Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ Π΄Π²ΡƒΠΌ полям


SELECT DISTINCT speed, ram

FROM Pc

ORDER BY ram DESC, speed DESC


даст ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

speed

ram

900

128

750

128

600

128

500

64

450

64

500

32

450

32


Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ WHERE.

Π“ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ WHERE , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ записываСтся послС прСдлоТСния FROM. ΠŸΡ€ΠΈ этом Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ строки ΠΈΠ· источника записСй, для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° Ρ€Π°Π²Π½ΠΎ TRUE. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ провСряСтся для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи. НапримСр, запрос "ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ частотС процСссора ΠΈ объСмС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² с Ρ†Π΅Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ $500" ΠΌΠΎΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:


SELECT DISTINCT speed, ram

FROM Pc

WHERE price<500

ORDER BY 2 DESC


speed

ram

450

64

450

32

500

32


Π’ послСднСм запросС использовался ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ сравнСния с использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния "<" (мСньшС Ρ‡Π΅ΠΌ). ΠšΡ€ΠΎΠΌΠ΅ этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ: "=" (Ρ€Π°Π²Π½ΠΎ), "" (большС), "=" (большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ), "<=" (мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ) ΠΈ "<>" (Π½Π΅ Ρ€Π°Π²Π½ΠΎ). ВыраТСния Π² ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π°Ρ… сравнСния ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ поля ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ FROM. Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ строки ΠΈ константы Ρ‚ΠΈΠΏΠ° Π΄Π°Ρ‚Π°/врСмя Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² апострофах.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ простых ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ² сравнСния:


price < 1000

ЦСна мСньшС $1000.

type = 'laptop'

Π’ΠΈΠΏΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ являСтся ПК-Π±Π»ΠΎΠΊΠ½ΠΎΡ‚.

cd = '24x'

24-скоростной CD-ROM.

color <>'y'

НС Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€.

ram - 128 0

ОбъСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΡΠ²Ρ‹ΡˆΠ΅ 128 Mb.

price <= speed*2

Π¦Π΅Π½Π° Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡƒΠ΄Π²ΠΎΠ΅Π½Π½ΠΎΠΉ частоты процСссора.


Π‘ΡƒΠ»Π΅Π²Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ AND, OR, NOT ΠΈ трСхзначная Π»ΠΎΠ³ΠΈΠΊΠ°. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹


ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой выраТСния, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ истинностноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Они ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΈ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΈΠ· Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ количСства Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² AND, OR ΠΈΠ»ΠΈ NOT. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² этих комбинациях ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ SQL-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ IS, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ порядка выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ Π² языкС SQL ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ TRUE (истина), FALSE (лоТь) ΠΈΠ»ΠΈ UNKNOWN (нСизвСстно). Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹: NULL (отсутствиС значСния), EXISTS (сущСствованиС), UNIQUE (ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ) ΠΈ MATCH (совпадСниС), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ UNKNOWN.

ΠŸΡ€Π°Π²ΠΈΠ»Π° комбинирования всСх Ρ‚Ρ€Π΅Ρ… истинностных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π»Π΅Π³Ρ‡Π΅ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠ² TRUE ΠΊΠ°ΠΊ 1, FALSE ΠΊΠ°ΠΊ 0 ΠΈ UNKNOWN ΠΊΠ°ΠΊ 1/2 (Π³Π΄Π΅ Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ истинным ΠΈ Π»ΠΎΠΆΠ½Ρ‹ΠΌ).

* AND с двумя истинностными значСниями Π΄Π°Π΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ этих Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. НапримСр, TRUE AND UNKNOWN Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ UNKNOWN.

* OR с двумя истинностными значСниями Π΄Π°Π΅Ρ‚ максимум этих Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. НапримСр, FALSE OR UNKNOWN Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ UNKNOWN.

* ΠžΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅ истинностного значСния Ρ€Π°Π²Π½ΠΎ 1 минус Π΄Π°Π½Π½ΠΎΠ΅ истинностноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НапримСр, NOT UNKNOWN Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ UNKNOWN.


ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ сравнСния


ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ сравнСния прСдставляСт собой Π΄Π²Π° выраТСния, соСдиняСмых ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ сравнСния. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ ΡˆΠ΅ΡΡ‚ΡŒ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² сравнСния: =, >, <, >=, <=, <>.