* ΠΡΡΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° Π·Π°ΠΏΡΠΎΡΠ°, ΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΡΡΠΎΡΡ Π±ΡΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΡΠΌΠΈ (Π΅ΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ), ΠΎΡΠΊΡΡΡΡΠΌΠΈ(Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π·Π°ΠΏΡΠΎΡ ), ΠΈ Π·Π°ΠΊΡΡΡΡΠΌΠΈ (Π΅ΡΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π²ΡΠ²ΠΎΠ΄ Π·Π°ΠΏΡΠΎΡΠ° ΠΈΠ· ΠΊΡΡΡΠΎΡΠ°). ΠΡΠ»ΠΈ ΠΊΡΡΡΠΎΡ ΠΎΡΠΊΡΡΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π° FETCH, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ Π΅Π³ΠΎ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²ΡΠ²ΠΎΠ΄Π° Π·Π°ΠΏΡΠΎΡΠ°.
* ΠΡΡΡΠΎΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ-ΡΡΠ΅Π½ΠΈΠ΅. Π§ΡΠΎΠ±Ρ ΡΡΠ°ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡΠΌ, ΠΊΡΡΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ Π²ΡΠ΅ΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ ΠΏΡΠΎΡΠΌΠΎΡΡ; ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ½ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ORDER BY ΠΈΠ»ΠΈ UNION, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°ΠΌΠΈ. ΠΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΡΡΡΠΎΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΡΡΠΎΡΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ-ΡΡΠ΅Π½ΠΈΠ΅.
* ΠΡΠ»ΠΈ ΠΊΡΡΡΠΎΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡΠΉ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ UPDATE ΠΈ DELETE ΡΠ΅ΡΠ΅Π· ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ WHERE CURRENT OF. DELETE ΠΈΠ»ΠΈ UPDATE Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²Π½Π΅ ΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΡΡΡΠΎΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅.
* SQLCODE Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ SQL. ΠΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ SQL.
* ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° SQL Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, Π½ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π»Π° Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , SQLCODE=100. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΎΠΈΠ·Π²Π΅Π»Π° ΠΎΡΠΈΠ±ΠΊΡ, SQLCODE Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΡΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΡΠΈΡΠ»Ρ ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, SQLCODE=0.
* ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ WHENEVER ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΠΊΠΎΠ³Π΄Π° SQLCODE=100 (Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ) ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° SQLCODE ΡΠ°Π²Π΅Π½ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΡΠΈΡΠ»Ρ (SQLERROR). ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΌΠ΅ΡΠΊΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ (GOTO <label> ) ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΠΎΠΎΠ±ΡΠ΅( ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ). ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
* Π§ΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ indicator. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ indicator ΡΠ»Π΅Π΄ΡΡΡ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ SQL, Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ Π±Ρ ΡΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ ΠΏΠΎΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΊΡΠΎΠΌΠ΅ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ) ΡΠ»ΠΎΠ²Π° INDICATOR.
* ΠΠ±ΡΡΠ½ΠΎ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ indicator=0. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° SQL ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ NULL Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π³Π»Π°Π²Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ indicator, indicator Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎΡ ΡΠ°ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΈ Π΄Π»Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π½ΠΈΡ NULL Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ SQL Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡ Π² Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
* ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ indicator ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ NULL Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ SQL - INSERT ΠΈΠ»ΠΈ UPDATE. ΠΠ½Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅ Π½Π° Π΄Π»ΠΈΠ½Π½Ρ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ²ΡΠ΅ΠΉΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΡΠ΅ Π³ΡΠ°Π½ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉΠ½ΠΈΠ±ΡΠ΄Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΡΠ΄Π° ΡΡΠ° ΡΡΡΠΎΠΊΠ° ΠΏΠΎΠΌΠ΅ΡΠ°Π»Π°ΡΡ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠ²Π΅ΡΡ Π΄Π»Ρ ΡΡΠΈΡ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠΉ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π² ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π°Ρ , ΡΠ²Π»ΡΡΡΠΈΡ ΡΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π»ΠΎΠ³ΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΠΌΠΎΡΡ ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΌ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΠ°ΡΠΊΠ°Π»Π΅ΠΌ(ΠΈΠ»ΠΈ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π»ΡΡΡΠ΅ ΡΡΠΎΠΊΡΡΠΈΡΡΠ΅Ρ Π²Π°ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²ΠΊΠ»ΡΡΠ΅ΠΌΡΡ ΠΏΠΎΠ½ΡΡΠΈΡΡ , ΠΎΠΏΡΡΠΊΠ°Ρ ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. Π§ΡΠΎΠ±Ρ Π½Π΅ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΡΡ Π½Π°ΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ, ΡΡΠΈΠ»Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΠΠ°ΡΠΊΠ°Π»Ρ.
ΠΡ ΠΎΠΏΡΡΡΠΈΠΌ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π²ΡΠ΅ ΡΡΠΎ Π½Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΊ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ; ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΌΡΠΌΠΈ ΡΠ΄Π°ΡΠ½ΡΠΌΠΈ.
* Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ±Π΅ΡΠ΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ snum ΠΈ cnum ΠΈΠ· ΡΠ°Π±Π»ΠΈΡ ΠΠΎΡΡΠ΄ΠΊΠΎΠ² ΠΈ ΠΠ°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠ² ΠΈ Π²ΡΡΡΠ½ΠΈΡΠ΅, Π²ΡΠ΅Π³Π΄Π° Π»ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ°Ρ. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ΠΠΎΡΡΠ΄ΠΊΠΎΠ² Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΠ°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠ², Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ snum Π΄Π»Ρ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠ΅Π΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΊΡΡΡΠΎΡ Ρ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠΎΠΌ - ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ (ANSI ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°ΠΌ, ΠΈ ΡΡΠΎ Π±Π°Π·ΠΈΡΠ½Π°Ρ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΡΠΎ Π½Π΅ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΎΡΠΈΠ±ΠΊΡ(Ρ.Π΅. ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ, Π²ΡΠ΅ ΠΏΠΎΠ»Ρ cnums Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΠΎΡΡΠ΄ΠΊΠΎΠ² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Ρ, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅). ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ°Π·Π΄Π΅Π» ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ, ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ ΡΡΠΎ ΡΠ°ΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΊΡΡΡΠΎΡΡ.
* ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄ΠΏΠΈΡΡΠ²Π°Π΅Ρ ANSI Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΡ. ΠΠ°ΠΊ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ?
* Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Ρ city ΠΏΡΠΎΠ΄Π°Π²ΡΠ°, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΈΡΡΠΈΠΎΠ½Π½ΡΠ΅ Π½Π° .01 Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π² ΠΠ°ΡΡΠ΅Π»ΠΎΠ½Ρ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΠΈΡ Π½Π° .01 Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π² Π‘Π°Π½ Π₯ΠΎΡΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΎΠ΄Π°Π²Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π² ΠΠΎΠ½Π΄ΠΎΠ½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ΅ΡΡΡΡ .02 ΠΈΠ· ΡΠ²ΠΎΠΈΡ ΠΊΠΎΠΌΠΈΡΡΠΈΠΎΠ½Π½ΡΡ , Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΎΠ½ Π³ΠΎΡΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π΅Ρ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΄Π°Π²Π΅Ρ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π² ΠΠΎΠ½Π΄ΠΎΠ½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΈΡΡΠΈΠΎΠ½Π½ΡΡ Π½Π° .02. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠΈΡΡΠΈΠΎΠ½Π½ΡΡ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΠ΅Π΅ΡΡ Π½Π° Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Π² ΠΠΎΠ½Π΄ΠΎΠ½Π΅, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ ΠΊΡΠ΄Π° ΡΠΎΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ. ΠΡΡΡΠ½ΠΈΡΠ΅ ΠΌΠΎΠ³ΡΡ Π»ΠΈ ΠΏΠΎΠ»Π΅ city ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅ comm ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ NULL Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ ΠΈΡ , ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π² SQL. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅! : ΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ A. ΠΠ’ΠΠΠ’Π« ΠΠΠ― Π£ΠΠ ΠΠΠΠΠΠΠ
ΠΠ»Π°Π²Π° 1.
* cnum
* rating
* ΠΡΡΠ³ΠΈΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ - Π·Π°ΠΏΠΈΡΡ. ΠΡΡΠ³ΠΈΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ Π΄Π»Ρ ΡΡΠΎΠ»Π±ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ - ΠΏΠΎΠ»Π΅.
* ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π»ΠΈΠ±ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½ΠΈΡ.
ΠΠ»Π°Π²Π° 2.
* Π‘ΠΈΠΌΠ²ΠΎΠ» (ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΡ ) ΠΈ Π½ΠΎΠΌΠ΅Ρ
* ΠΠ΅Ρ
* Π―Π·ΡΠΊ ΠΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠ°Π½Π½ΡΠΌΠΈ (Π―ΠΠ«Π DML)
* ΠΡΠΎ ΡΠ»ΠΎΠ²ΠΎ Π² SQL ΠΈΠΌΠ΅Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠ΅Π±Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ»Π°Π²Π° 3.
* 1. SELECT onum, amt, odate FROM Orders;
* 2. SELECT * FROM Customers WHERE snum=1001;
* SELECT city, sname, snum, comm FROM Salespeople;
* SELECT rating, cname FROM Customers WHERE city='SanJose';
* SELECT DISTINCT snum FROM Orders;
ΠΠ»Π°Π²Π° 4.
* 1. SELECT * FROM Orders WHERE amt > 1000;
* SELECT sname, city FROM Salespeople WHERE city='London' AND comm > .10;
SELECT * FROM Customers WHERE rating > 100 OR city='Rome';
ΠΈΠ»ΠΈ
SELECT * FROM Customers WHERE NOT rating <=100 OR city ='Rome';
ΠΈΠ»ΠΈ
SELECT * FROM Customers WHERE NOT (rating <=100 AND city < > 'Rome');
* ΠΠΎΠ³ΡΡ Π±ΡΡΡ Π΅ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
onum amt odate cnum snum
3001 18.69 10/03/1990 2008 1007
3003 767.19 10/03/1990 2001 1001
3005 5160.45 10/03/1990 2003 1002
3009 1713.23 10/04/1990 2002 1003
3007 75.75 10/04/1990 2004 1002
3008 4723.00 10/05/1990 2006 1001
3010 1309.95 10/06/1990 2004 1002
* 3011 9891.88 10/06/1990 2006 1001
onum amt odate cnum snum
3001 18.69 10/03/1990 2008 1007
3003 767.19 10/03/1990 2001 1001
3006 1098.16 10/03/1990 2008 1007
3009 1713.23 10/04/1990 2002 1003
3007 75.75 10/04/1990 2004 1002
3008 4723.00 10/05/1990 2006 1001
3010 1309.95 10/06/1990 2004 1002
* 3011 9891.88 10/06/1990 2006 1001
* . SELECT * FROM Salespeople;
ΠΠ»Π°Π²Π° 5.
SELECT * FROM Orders WHERE odate IN (10/03/1990,10/04/1990);
ΠΈ
* SELECT * FROM Orders WHERE odate BETWEEN 10/03/1990 AND 10/04,1990;
* SELECT * FROM Customers WHERE snum IN (1001,1004);
SELECT * FROM Customers WHERE cname BETWEEN 'A' AND 'H';
* ΠΠ ΠΠΠΠ§ΠΠΠΠ: Π ASCII Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Hoffman Π½Π΅ Π±ΡΠ΄Π΅ Π²ΡΠ²Π΅Π΄Π΅Π½ ΠΈΠ·-Π·Π° ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² ΠΏΠΎΡΠ»Π΅ H. ΠΠΎ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π²ΠΎΡΠΎΡΠ°Ρ Π³ΡΠ°Π½ΠΈΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ G, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° Π½Π΅ Π²ΡΠ²Π΅Π΄Π΅Ρ ΠΈΠΌΠ΅Π½Π° Giovanni ΠΈ Grass. G ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Ρ Z, ΡΠ°ΠΊ ΡΡΠΎΠ±Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π·Π° Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π° Π½Π΅ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ.
* SELECT * FROM Customers WHERE cname LIKE 'C%';
SELECT * FROM Orders WHERE amt < > O AND (amt IS NOT NULL);
ΠΈΠ»ΠΈ
* SELECT * FROM Orders WHERE NOT (amt=O OR amt IS NULL);
ΠΠ»Π°Π²Π° 6.
* SELECT COUNT(*) FROM Orders WHERE odate=10/03/1990;
* SELECT COUNT (DISTINCT city) FROM Customers;
* SELECT cnum, MIN (amt) FROM Orders GROUP BY cnum;
* SELECT MIN (cname) FROM Customers WHERE cname LIKE 'G%';
* SELECT city, MAX (rating) FROM Customers GROUP BY city;
* SELECT odate, count (DISTINCT snum FROM Orders GROUP BY odate;
ΠΠ»Π°Π²Π° 7.
* SELECT onum, snum, amt * .12 FROM Orders;
SELECT 'For the city ', city, ', the highest rating is ', ", MAX (rating)
* FROM Customers GROUP BY city;
* SELECT rating, cname, cnum FROM Customers ORDER BY rating DESC;
* SELECT odate, SUM (amt) FROM Orders GROUP BY odate ORDER BY 2 DESC;
ΠΠ»Π°Π²Π° 8.
SELECT onum, cname FROM Orders, Customers
* WHERE Customers.cnum=Orders.cnum;
SELECT onum, cname, sname FROM Orders, Customers, Salespeople
* WHERE Customers.cnum=Orders.cnum AND Salespeople.snum=Orders.snum;
SELECT cname, sname, comm FROM Salespeople, Customers
* WHERE Salespeople.snum=Customers.snum AND comm * .12;
SELECT onum, comm * amt FROM Salespeople, Orders, Customers
WHERE rating > 100 AND Orders.cnum=Customers.cnum
* AND Orders.snum=Salespeople.snum;
ΠΠ»Π°Π²Π° 9.
SELECT first.sname, second.sname FROM Salespeople first, Salespeople second
WHERE first.city=second.city AND first.sname < second.sname;
* ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ°ΠΌ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠΌΠ΅ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°.
SELECT cname, first.onum, second.onum FROM Orders first, Orders second, Customers WHERE first.cnum=second.cnum
AND first.cnum=Customers.cnum
AND first.onum < second.onum;
* ΠΠ°Ρ Π²ΡΠ²ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ, Π½ΠΎ Π² Π²Π°ΡΠ΅ΠΌ ΠΎΡΠ²Π΅ΡΠ΅ Π²ΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅.
SELECT a.cname, a.city FROM Customers a, Customers b
* WHERE a.rating=b.rating AND b.cnum=2001;
ΠΠ»Π°Π²Π° 10.
SELECT * FROM Orders WHERE cnum=(SELECT cnum
FROM Customers WHERE cname='Cisneros');
ΠΈΠ»ΠΈ
SELECT * FROM Orders WHERE cnum IN
* (SELECT cnum FROM Customers WHERE cname='Cisneros');
SELECT DISTINCT cname, rating FROM Customers, Orders
WHERE amt > (SELECT AVG (amt) FROM Orders)
* AND Orders.cnum=Customers.cnum;
SELECT snum, SUM (amt) FROM Orders
GROUP BY snum HAVING SUM (amt) >
* (SELECT MAX (amt) FROM Orders);
ΠΠ»Π°Π²Π° 11.
1. SELECT cnum, cname FROM Customers outer
* WHERE rating=(SELECT MAX (rating) FROM Customers inner WHERE inner.city=outer.city);
. Π Π΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠΎΡΠ½Π΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠ°:
SELECT snum, sname FROM Salespeople main
WHERE city IN (SELECT city FROM Customers inner
WHERE inner.snum < > main.snum);