


        

 1   樮                               1
 2 SQL: ⪨                                             11
 3 ᯮ짮 SQL  祭 ଠ樨           21
 4 ᯮ짮 樮  㫥 ஢
                             ।⮢   35
 5 ᯮ짮 樠 ஢  ᫮               47
 6 饭    ॣ 㭪権                 61
 7 ଠ஢ 뢮                                  75
 8                                     87
 9 ꥤ                                      97
10 饭    㣮                      109
11 ⭥ᥭ                                       125
12 ᯮ짮  EXISTS                               137
13 ᯮ짮 ஢ ANY, ALL,  SOME                    149
14 ᯮ짮 । UNION                              169
15 , ,   祭                 185
16 ᯮ짮 ᮢ   䨪樨            195
17                                                207
18 ࠭祭 祭                              217
19 ঠ ⭮                           233
20 : ।⠢                                      251
21  祭   ।⠢                   265
22 ।                                 279
23  ᯥ SQL                                       297
24   SQL ঠ  冷祭                313
25 ᯮ짮 SQL  㣨 몠 (  SQL )        333
 A ⢥  ࠦ                                        359
 B  SQL                                               381
 C  騥 ⠭ ᮡ SQL                387
 D ⠪   뫪                                   399
 E  ᯮ㥬  ਬ                              419



                

 1:   
          

             ⠪ - 樮  ?                  2
             뢠    㣮                 3
            冷 ப ந                              3
            䨪 ப ( ࢨ  )               4
            ⮫   㬥                        4
                                                 5
                                                            8
              SQL                                          9

 2: SOL:  

             SQL ⠥ ?                                   12
             ANSI ⭮  SQL?                            12
            ࠪ⨢   SQL                        13
            ࠧ SQL                                       13
                                              14
            SQL ᮣᮢ                                15
             ⠪ - ?                            17
            ᫮ 祭  ନ                  17
                                                           18
              SQL                                         18

 3:  SQL 
           
         

                                                  22
               ?                               22
             SELECT                                       23
            롨ࠩ ᥣ ⮩ ᮡ                      25
            ⪮  SELECT                                      25
            ।⠢ 쪮 । ⮫殢    25
            㯮冷祭 ⮫殢                            26
                                         27
            ஢ 롮 - । WHERE          29
                                                           32
              SQL                                         33



 4:  
            
           
         

            樮                                 36
            㫥                                      37
                                                           43
              SQL                                         45

 5:  
           

             IN                                          48
             BETWEEN                                     50
             LIKE                                        53
              NULL 祭ﬨ                             56
             IS NULL                                     57
            ᯮ짮 NOT  樠묨 ࠬ        57
                                                           59
              SQL                                         60

 6:    
          

              ॣ 㭪樨?                        62
            祬 ᯮ ॣ 㭪樨?                 62 
           樠 ਡ COUNT                             64 
            ॣ⮢   ࠦ             67      
           । GROUP BY                                  67 
           । HAVING                                    69 
              ॣ⮢                        72 
                                                           73 
             SQL                                          74
           


 7:   

            ப  ࠦ                                   76
            冷祭 뢮                     79
            冷祭   ᫥ ⮫殢        80
            冷祭 ॣ 㯯                        81
            冷祭 뢮   ⮫                82
            ORDER BY  NULL 祭ﬨ                           84
                                                           85
              SQL                                         86



 8:     

            ꥤ                                    88
                ⮫殢                        88
             ꥤ                                 89
            ꥤ  १ ࠢ ⭮      90
             ꥤ  㣨 
                                                   쥤   91
            쥤                           92
                                                           93
              SQL                                         95

 9:    

              ꥤ    ?           98
            ᥢ                                           98
             筮                               100
            ஢ન 訡                                     101
             ᥢ                                  102
               ꥤ             102
                                                          105
              SQL                                        107

 10:   
           

               ?                           110
            祭    뢮           111
            DISTINCT  ᠬ                             112
            ।  ᠬ -  ⨬              114
            ᯮ짮 ॣ 㭪権        114
            ᯮ짮 ᮢ  뢮            
                                         ப   IN     116 
              HAVING                                 121
                                                          122
              SQL                                        123

 11:  

             ନ஢ ⭥ᥭ               126
             ⠥ ⭥ᥭ                  126
            ᯮ짮 ⭥ᥭ 
                                        ⮡ 室 訡   130
            ⭥ᥭ                            131
            ⭥ᥭ   HAVING                    132
            ⭥ᥭ   ꥤ               133
                                                          134
              SQL                                        135



 12:   EXISTS

             ⠥ EXISTS ?                               138
            롮 ⮫殢   EXISTS                     139
            ᯮ짮 EXISTS  ⭥ᥭ묨 ᠬ   139
             EXISTS  ꥤ                     141
            ᯮ짮 NOT EXISTS                            142
            EXISTS  ॣ                                   142
            襭 ਬ                          143
                                                          146
              SQL                                        147


 13:  
            ANY, ALL,  SOME

            樠  ANY  SOME                   150
            ᯮ짮 IN  EXISTS  ANY              151
             ANY                       154
            樠  ALL                            158
            ⢠  ࠢ⢠                             159
             ANY  ALL                                 162
             ANY, ALL,  EXISTS 頥 
                    ⢨   묨 묨   162
              頥                  162
            ANY  ALL  EXISTS  NULL                      163
            ᯮ짮 COUNT  EXISTS                   164
                                                          166
              SQL                                        167


 14: 
           UNION

            ꥤ  ᮢ                    170
                ꥤ
                                           ᠬ ?     171
            UNION   㡫⮢                         172
            ᯮ짮 ப  ࠦ  UNION             174
            ᯮ짮 UNION  ORDER BY                      175
            譥 쥤                                 177
                                                          181
              SQL                                        183



 15: , , 
            

             䨪樨 DML                             186
             祭                                       186
            ⠢ NULL                                        187
             ⮫殢  ⠢                   187
            ⠢ ⮢                          188
             ப                              189
             祭                              190
             쪮 । ப           190
            UPDATE  ᫥묨 ⮫栬                   190
            ᯮ짮 ࠦ  UPDATE                    191
              NULL 祭q                   192
                                                          192
              SQL                                        193

 16:  
            UPDATE

            ᯮ짮 ᮢ  INSERT                  196
             ⠢ 㡫⮢ ப                         197
            ᯮ짮 ᮢ   譨
                                                198
            ᯮ짮 ᮢ  DELETE                  199
            ᯮ짮 ᮢ  UPDATE                  202
            ⢮  ࠭祭ﬨ ᮢ  DML   203
                                                          204
              SQL                                        205

 17:  

             CREATE TABLE                                208
                                                         210
                                               211
             ᮢ                                   212
                                212
                                                  214
                                                          214
              SQL                                        215



 18:  
           

            ࠭祭                                   218
             ࠭祭                              218
            ᯮ짮 ࠭祭 ⮡ ᪫ NULL      219
            ,  祭 -                  220
            ࠭祭                          222
            ஢ઠ 祭                               224
            ⠭ 祭  -               227
                                                          229
              SQL                                        231


 19:  
           

            譨   ⥫᪨                     234
            譨  ⮫殢                        235
            祭 譥   ⥫᪮        235
            ࠭祭                            236
               譨 箬                    236
                ࠭祭                238
               ⮫ ࠭祭                239
            ᪫祭 ᪮ ⮫殢 ࢨ筮         239
             ࠢ筠 ⭮ ࠭稢
                                 祭 ⥫᪮    240
            ࢨ   쭮
                                          ⥫᪮    240
            ࠭祭 譥                           241
                믮
                                           䨪樨   241
              ।                    242
            ⢨ ࠭祭                                243
            譨   뫠 ⭮ 
                                    ⢥ 栬   246
                                                          248
              SQL                                        250



 20: : 

              ।⠢?                            252
             CREATE VIEW                                 252
            ஢ ।⠢                       254
             ⮫殢                                 255
             ।⮢ ।⠢  ।⮢                                   
                         ᮢ ᭮  ।⠢  256
            㯯஢ ।⠢                       257
            ।⠢  ꥤ                         258
            ।⠢                            258
                ।⠢                   260
             ।⠢                              261
                                                          262
              SQL                                        263


 21:  
            

            ஢ ।⠢                       266
            ।: 㥬  ।⠢          268
            ।⠢   _        269
             ।⠢  㥬묨        270
            ஢ઠ 祭 饭  ।⠢        271
            ।  ᪫祭                         272
            ஢ઠ ।⠢  
                                      㣨 ।⠢   274
                                                          275
              SQL                                        277


 22: :
             

           짮⥫                                         280
                                                     280
           ।⠢ ਢ                            281
           ⠭ ਢ                               281
            GRANT                                        282
           ᯮ짮 㬥⮢ ALL  PUBLIC                285
           । ࠢ   GRANT OPTION                 286
            ਢ ⭮                            287
           ᯮ짮 ।⠢ ⮡
                                       ஢ ਢ   288
           㣨  ਢ                               291
            ਢ ⥬                           292
              짮⥫                    293
                                                          294
             SQL                                         295



 23:   SQL

            २                                298
            २                          298
                                               299
                                               300
             -   । 짮⥫?       300
              ⠭ ﭭ묨?             302
             SQL 頥   짮⥫ﬨ ࠧ    304
             ஢                                     307
            㣨 ᮡ ஢                     308
                                                          309
              SQL                                        311


 24:   SQL 
            

            ⠫ ⥬                                     314
             ⠫ ⥬                            315
            ᯮ짮 ।⠢   ⠫     317
            ਩ ঠ ⠫                     319
            ⠫ ⠫                                  322
            SYSTEMINDEXES -                322
            SYSTEMUSERAUTH - 짮⥫  ਢ
                                        ⥬      323
            SYSTEMTABAUTH - ਢ ꥪ 
                                   ⮫殬   324
            SYSTEMCOLAUTH - ਢ ꥪ 
                                     ⮫殬   326
            SYSTEMSYNONS -           328 
            㣮 ᯮ짮 ⠫                      329
                                                          330
              SQL                                        332



 25:  SQL  
            (  SQL )

                SQL                    334
            祬 뢠 SQL?                              334
               SQL?                          335
            ᯮ짮 ६  몠  SQL       336
             ६                               339
            祭 祭  ६                    339
                                                          410
            SQLCODE                                             343
            ᯮ짮 SQLCODE  ࠢ         345
             WHENEVER                                    345
            ஢ ஢                            346
            ६ INDICATOR                                349
            ᯮ짮 ६ INDICATOR
                                     㫨஢ SQL NULL   351                                        
            㣨 ᯮ짮 ६ INDICATOR           352
                                                          353
              SQL                                        356

             A:                  359
             B:   SQL                    381
             C:   
                                              SQL 387
             D:             399
             E:        419


 =============   SELECT ===============
                      

SELECT * | { [ DISTINCT | ALL] < value expression >.,..}
   FROM { < table name > [ < alias > ] }.,..
   [ WHERE <predicate>]
   [ GROUP BY { <column name> | <integer> }.,..]
   [ HAVING <predicate>]
   [ ORDERBY { <column name> | <integer> }.,..]

   [ { UNION [ALL]

SELECT * | { [DISTINCT | ALL] < value expression >.,..}
   FROM { <table name> [<alias>]} .,..
   [ WHERE < predicate >
   [ GROUP BY { <columnname> | <integer> }.,..]
   [ HAVING <predicate >]
   [ ORDER BY { <columnname> | <integer> }.,..] } ] ...;


      ᯮ㥬   SELECT
 __________________________________________________________________
|           |                                    |
|__________________|_______________________________________________|
|                  |                                               |
|<value expression>| ࠦ ஥ ந 祭.  -|
|                  |   ᥡ  ᮤঠ <column name>.  |    
|                  |                                               |
|<table name>      |   ᨭ, ⠡  ।⠢    |
|                  |                                               |
|<alias>           | ६ ᨭ  <table name>,।|
|                  |  ⮩ ⠡  ᯮ㥬 ⮫쪮  ⮩   |
|                  |                                        |
|                  |                                               |
|<predicate>       | ᫮, ஥            |
|                  |    ப  樨     |
|                  | ப ⠡  । FROM.             |
|                  |                                               |
|<column name>     |  ⮫  ⠡.                        |
|                  |                                               |
|<integer>         | ᫮  筮 窮.  ⮬ 砥,  |
|                  | 뢠 <value expression>  ।   |
|                  | SELECT   䨪樨  ⮯- |
|                  |   ⮬ ।.                     |
|__________________|_______________________________________________|


==========   UPDATE INSERT DELETE ==========
                    
UPDATE

   UPDATE <tablename>
      SET { | }.,. .< column name> = <value expresslon>
      [ WHERE <predlcate>
      | WHERE CURRENT OF <cursor name>
       (*⮫쪮  *) ];


INSERT

   INSERT INTO < table name> [(<column name> ., . ]
      { VALUES ( <value expression> .,.. ) }
      | <query>;


DELETE

   DELETE FROM <table name>
      [ WHERE <predicate>
      | WHERE CURRENT OF <cursor name>
       (*⮫쪮  *) ];

 ᯮ㥬   
 __________________________________________________________________
|          |                                     |
|_________________|________________________________________________|
|                 |                                                |
| <cursor name>   |       ᯮ㥬  ⮩ ணࠬ.|
|                 |                                                |
| <query >        |     ⨬  SELECT.                 |
|_________________|________________________________________________|
|       㣨 ⮢ ᬮ  SELECT.                 |
|__________________________________________________________________|

 ᯮ㥬  ⠪ ।
 __________________________________________________________________
||                                                 |
|______|___________________________________________________________|
|      |                                                           |
|  |   |, ।騩  (|) ᨬ,  ந-|
|      |쭮    ᫥騩  (|).  - ᨬ᪨ |
|      |ᯮᮡ ᪠뢠 ""("or").                           |
|      |                                                           |
| { }  |,  祭  䨣 ᪮ ࠡ뢠      |
|      |  楫 業 |, .,..  㣨 ᨬ.         |
|      |                                                           |
| [ ]  |,祭   ᪮  易⥫ |                                                       |      |                                                           |   
| ...  |, ।饥 ⮬,    ᫮ |
|      |ࠧ.                                                       |
|      |                                                           |
| .,.. |, ।饥 ⮬,    砥 ⤥-    |
|      | 묨,    ᫮ ࠧ.           |
|______|___________________________________________________________|


=========  CREATE TABLE ===========
                   
       CREATE TABLE <table name>
           ( { <column name> <data type> I<size>]
       [<colcnstrnt> ...]} .,.. );
           [<tabconstrnt>] .,.. );

 ᯮ㥬   CREATE TABLE
 ___________________________________________________________________
|              |                                                    |
|       |                                         |
|______________|____________________________________________________|
|              |                                                    |
|<table name>  |   ⠡ ᮧ ⮩ .            |
|              |                                                    |
|<column name> |   ⮫ ⠡.                              |
|              |                                                    |
|<data type>   |      ᮤঠ  ⮫.   |
|              |      ᫥:                    |
|              |   INTEGER           ( ),                 |
|              |   CHARACTER         (),                  |
|              |   DECIMAL           (),                  |
|              |   NUMERIC           (),                    |
|              |   SMALLINT          ()                   |
|              |   FLOAT             (  )           |
|              |   REAL              (),                    |
|              |   DOUBLE PRECISION  (            |
|              |                          ),         |
|              |   LONG *            ( *),                   |
|              |   VARCHAR *         ( ) *,     |
|              |   DATE              ( *),                      |
|              |   TIME              ()                        |
|              |                                                    |
|              |( * - 㪠뢠  ⠭  SQL ⨯ )|
|              |                                                    |
|              |                                                    |
|<size>        |  . 祭   <data type>.       |
|              |                                                    |
|<colconstrnt> |      ᫥:                    |
|              |  NOT NULL                    ( ),         |
|              |  UNIQUE                      (),         |
|              |  PRIMARY KEY                 ( ),     |
|              |  CHECK(<predicate>)          ( ।), |
|              |  DEFAULT =                   (  =       |
|              |  <value expression>           稬 ࠦ) |
|              |  REFERENCES <table name>    (   ⠡ |
|              |  [(<column name> .,.. )]    [(  ⮫) ] )    |
|              |                                                    |
|<tabconstrnt> |      ᫥:                    |
|              |   UNIQUE                     (),         |
|              |   PRIMARY KEY                ( ),     |
|              |   CHECK                      ( । ) |
|              |   FOREIGN KEY(<column name>) ( )        |
|              |                                                    |
|              |   REFERENCES <table name>    (   ⠡|
|              |   [(<column name> .,.. )]    [(  ⮫) ].    |
|______________|____________________________________________________|



 ======================

" SQL" -   祡  ணࠬ஢ 
 ஢ 몥 ᮢ, ᠭ ᯥ樠쭮  
  㤥 ᯮ짮 SQL   ࠡ.  ᫨  
    ࠬ  ࠢ  ,  
" SQL" 祭    ᢮ ࠡ  
ॠ쭮 SQL, ᯮ짮  ᮢ,  ⠪ ᭠  
묨 ﬨ  ⮬⨧஢ ࠢ  .
   ⪮, 㤮  ⥭   ५樮  
. ।⠢  騥 ணࠬ ⮡ 
 SQL 蠣  蠣,   㧭,   
ࠡ뢠 ଠ ᮤঠ  ⠡ , ..:

   * 롨 ଠ  ன   ࠡ

   * , 㤠,  ஢ ଠ  ⠡
     

   * ᯮ짮 -, ୮ / ୮,  㣨 ᫮
      㫥 । ଠ樨

   * ᯮ짮 ᯥ樠 㭪樨 SQL  㬬஢ 
     .

      䥪⨢ ࠡ  ᫥묨 
⠡栬 , ᯮ 襭 孨    
祬  ⠡ ६, ந  ᮢ  
ᮢ,  ᯮ짮 ।⠢ ⮡ ᮧ  
  ࠡ    ࠧ쭮   ⠡.

 ᮧ  ⠡   짮⥫᪨  
ਪ ணࠬ.  ᫥ ਭ樯 䥪⨢ 
஥஢  ,  ⠪ 孨  ᯥ祭 
楫⭮    .

 㧭,  ᯮ짮 SQL  㣨 몠  ᯥ樠쭮
 SQL,  ணࠬ⮢.

" SQL" - 室  ਣ   ॠ樨 
஢ 몠 .  砥  ⪨ ࠢ
⠭ SQL  㪮⢮  騬 ⠭ ᮡ SQL.












      

      ⨭ 㡥 - ᢮ ⥫, ⥫  ⠭ 
    ࠭᪮.      ᠭ  ।஢ ,
   㪮 짮⥫  㬥樨;   ࠡ⠥  ப
   ᯥ ᮢ 易  ࠬ  묨 
   .



                               











         SQL









                                              ॢ           ..

                                               ।樥   祢 ..














                               1993     



                       MARTIN   GRUBER











       Understanding SQL


























                                     MOSKOW   1993    






                                                                                 1




                 
                           









 ==============================


SQL (     "" ) 
ᨬ ᮡ ஢  ᮢ. 
 -      ᮧ  ࠡ
 ५樮  ,   ࠬ 易 
ଠ樨 ࠭塞  ⠡.

   ⠭     ,  ਢ 
 室 ᮧ ⠭⭮ 몠   
ᯮ짮 ⮡ 㭪樮஢  讬 ⢥
ࠧ   ।. ⠭  
짮⥫ 騬   , ᯮ짮  ⮡
ᮧ, ᪨, ,  । ଠ 
ᨬ  ⮣ ࠡ    ᮭ쭮 , 
⥢ ࠡ祩 ⠭樨,   㭨ᠫ쭮 .
   襬     易 ୮ , 
짮⥫ ᭠ ⠪ 몮,  ஬ २⢮ 
 ᯮ짮  饭 ଠ樨  鸞 筨  
 讣 ⢠ ᯮᮡ.

  ⭮  ᨬ  ᯥ䨪  
孮,  ⠪  প ࠬ ஬諥 
 孮 ५樮  , ᤥ SQL,  
⭮  祭 ਬ 饣 ⠢ , ᭮
⠭ 몮.  ⮩ 稭,    ࠡ 
   90-    SQL.

⠭ SQL । ANSI (ਪ᪨ 樮
⮬ ⠭⮢)    ६ ⠪ ਭ 
ISO (   
). , 設⢮ ᪨ 
ணࠬ    SQL  㢥 ANSI, 
 ࠧ 㣨 ᮡ   , ,   
,  쬠 . 
  ᪮쪮  ⠭ 몠,  訥 
  ⥭ ࠧ  ᪮ ⠭ ⠭⠬
"뭪" ᠬ  ᥡ  ᨫ  ᢮ . 
 ⮩ ,  㤥,  ᭮, ᫥ ⠭ ANSI,  
६  㤥 뢠    騥 
⪫   ⠭.
    ப஢  㬥樥 襣  
ணࠬ   㤥 ᯮ짮, ⮡     
 ⠭ .



 2      SQL     
______________________________________________________________
  . 1                                                                          

,     SQL,  
   ⠪ ५樮  . 
 ⮩ ,   ᭨,   ᪮쪮 ५樮 
  .   㤥 㦤 SQL  , 
 ᫨  㦥    쭮 ,   
 ய  .   砥,   ᬮ 
 ⠡  ।⠢     ; 
 ⠭ ᭮  ਬ஢  ⮩ .   
⠡ 室 ਫ E,   ४㥬 ᪮஢
  㤮⢠ 뫪  .

  -   ?

  樮   -  ⥫ 易 ଠ樨, 
࠭塞  㬥 ⠡.   
⥫䮭 . 
   讥 ⢮ 室,   
ᮮ⢥ । ᮡ.   ⠪ 
ᮡ,   ᪮쪮 ᨬ ࠣ⮢ ,
ਬ , ⥫䮭 ,  . ।,   
 ଠ஢      ⠡  
ப  ⮫栬.  ப ( 뢠 ⠪  ) 
㤥 ᮮ⢥⢮ । ᮡ;  ⮫ 
㤥 ᮤঠ 祭   ⨯  - , 
⥫䮭 ,   ।⠢塞   ப. 
᭠    룫拉 ᫥騬 ࠧ:

                                     䮭                                       
                                                          
    Gerry Farish    ( 415)365-8775    127 Primrose Ave.,SF  
                                                          
    Celia Brock     ( 707)874-3553    246 #3rd St.,Sonoma   
                                                          
    Yves Grillet    ( 762)976-3665    778 Modernas,Barcelona


   稫  ᭮ ५樮   
 뫮 ।  砫 ⮣ 㦤 -  , 㬥୮
( ப  ⮫ ) ⠡楩 ଠ樨. , ५樮  
 ।    ⠡.  ⠡  祬 
䠩 ⥬.  ᪮쪮 ⠡ 易 -
樨,  ᬮ 믮  ᫮   樨
 訬 묨. 魮     裡 
  ᮧ  ࠣ⠬ ଠ樨,    ᠬ 
ࠣ ଠ樨.



                               3
______________________________________________________________


    

  ᯮ짮 ਬ 襩 ᭮  ⮡
 㦤     ॠ쭮 ᯮ짮-
   樨. ।,  ᮭ  襩 
ࢮ ⠡ ( ᭮  ) -  樥 쭨. 
 㣮 ⠡,     ⥫ -
   樥. ⮫ ன ⠡    
祭  樥, , 客,  .

     樥                 客             
                                              
   Farish    Drume     B.C./B.S.    $272.99 
                                              
   Grillet   Halben    None         $44. 76 
                                              
   Brock     Halben    Health,Inc.  $9077.47

  㭪権  믮  ଠ  
 ⠡ ᮣ᭮ 㪠 ࠬࠬ, ᮡ   -
ࠬ   ᥡ ࠣ ଠ樨 ᢧ  ࠧ-
 ⠡   㣮. ਬ, 쬥 - ஢.
।  Halben ⥫   ⥫䮭  
᢮ 樥⮢. ⮡   ଠ,    易 
⠡  ࠬ ⥫䮭 樥⮢ (  ᭮  )  
⠡楩   㪠뢠,   樥⮢ - . ,  
⮬ ⮬ ਬ,    ঠ     ࠧ -
  ⥫䮭 樥⮢ Grillet  Brock,  ⠡  
 ᫨誮 訬  ᫨誮 ᫮묨. ணࠬ ५樮-
   ࠧࠡ뢠  ⮣ ⮡ ࠡ뢠 
訥  ᫮ ᮢ㯭  ⠪ ⨯,  祢 
  㭨ᠫ ⮤   .
 ᫨    쭨 ᮤঠ ⭨   
 -   ⭮  뢠  ࠪ⨪ -   SQL 
  뤠  Halben ଠ  ன  㦤 
 .


  

⮡ ন ᨬ , ப ⠡,  -
।,   室    । 浪. 
 ⮩ 窨 ७,  ⮬    ⫨砥 
襩 ᭮ .


    4        SQL                ___________________________________________________________________
     . 1

室    筮 㯮冷稢  䠢⭮ 浪. 
 ⥬  ५樮  ,   魠 -
  짮⥩ -  ᯮᮡ 㯮冷稢 ଠ 
⠪ ⮡   ⠭ .

ᬮਬ  ⠡.   室  
ଠ 㯮冷祭  䠢⭮ 浪  , 
  饬  뢠饬 浪,   㯯-
  ⭮襭  - .
 浪   ப 㤥 ⠫  ᯮᮡ
稪  , ⮬ ப ᥣ ᬠਢ 
㯮冷祭.  ⮩ 稭,     ᪠:" 
⨬ ᬮ  ப ⠡. " ७ॣ 浪 
஬     㣨 ਥ,  ।,
  ப,    㤥 ⮩. ப ⠡  ᬠ-
ਢ,    - । ᫥⥫쭮.

  (   )

 ⨬  㣨 稭,    ⮫  襩 ⠡
  㭨쭮 ஢  ப. 筮, 
⮫ ᮤন  - ਬ,  樥 砥  
樥. 筮,    ᯮ짮  樥⮢, 
    ᪮쪮 Mary Smiths;   ⮬ 砥,  
㤥  㣮 ᯮᮡ ⮡ ⫨  樥⮢  
㣠.
 祬  ⠪ 室.  㭨 ⮫(  㭨-
쭠 㯯 ⮫殢 ), ᯮ㥬 ⮡ ஢  
ப  ࠭  ப ⤥쭮, 뢠 - ࢨ묨 砬 
⠡.
ࢨ  ⠡      .
 - ᭮ 襩 ⥬   䠩;      
। ப  ⠡,  뫠  ⮬ ࢨ筮 . 
஬ ⮣, ࢨ  ࠭,     
। 楫⭮. ᫨ ࢨ  ࠢ쭮 ᯮ 
 ন,  㤥     ப ⠡  
 ப ⫨砥   㣮 ப.  㤥 㦤
    ਬ ⭮⥫쭮 ࠢ筮 楫⭮
  19.

   
 ⫨稥  ப, ⮫ ⠡ ( ⠪ 뢠 ﬨ )
㯮冷稢  .  ࠧ,  襩 ⠡ ᭮



                              5
______________________________________________________________________



,  㪠  "  ⮫ "   " ⮫ 3 ".  筮, 
 砥   ⮫  ⠡   㭨쭮
 ⮡  筮.  ᥣ ᫨   㪠뢠 
 ᮤঠ .  ⨯ ⠡ ⮩ ,  㤥 ᯮ짮 
⠪ ᮪饭   ⮫,  cname   稪,  odate 
  浪.  ⠪   ⠡  ᫮  
⮫  ⢥ ࢨ筮 . 騩  ࠧ 㤥   
⠡     ஡.


=========     ==========

 1.1, 1.2,  1.3 ⠢ ५樮    -
 쭮 筮 ⮡   ᫥,  筮 
, ⮡ ஢    ࠪ⨪ ᯮ짮 
SQL. 
 ⠡ ⠭  ⮩   ⠪  ਫ E.
    ᯮ짮  ஢ ࠧ ᮡ-
⥩ SQL  ᥩ ⮩ ,  ४㥬 ⮡  ᪮஢ , 
 㤮⢠ 뫪  .

  㦥     ⮫  ⠡
ᮤন   祭 ࠧ   ப.   
୮  ।,  - ࢨ  ⠡.  
 ஢ ⠪   ⮫ 㣨 ⠡.  ⮬  祣 
୮.  뢠   ப  ᯮ 
祭 ਭ  ࢨ筮 ,  ப   祭 
ᯮ  ᠬ ࢨ筮 .

 1.1:     த

      ----------------------------------------------
        SNUM  |   SNAME   |  CITY        |   COMM
      --------|-----------|--------------|----------
        1001  |  Peel     |  London      |    .12
        1002  |  Serres   |  San Jose    |    .13
        1004  |  Motika   |  London      |    .11
        1007  |  Rifkin   |  Barcelona   |    .15
        1003  |  Axelrod  |  New York    |    .10
       ---------------------------------------------



    6        SQL               
________________________________________________________________
        . 1


 1.2:     稪

       ----------------------------------------------
        CNUM  |  CNAME     | CITY    | RATING | SNUM
       -------|------------|---------|--------|------
        2001  |  Hoffman   | London  |   100  | 1001
        2002  |  Giovanni  | Rome    |   200  | 1003
        2003  |  Liu       | SanJose |   200  | 1002
        2004  |  Grass     | Berlin  |   300  | 1002
        2006  |  Clemens   | London  |   100  | 1001
        2008  |  Cisneros  | SanJose |   300  | 1007
        2007  |  Pereira   | Rome    |   100  | 1004
       ----------------------------------------------

 1.3:   浪

       -----------------------------------------------
        ONUM  |    AMT    |    ODATE    | CNUM | SNUM
       -------|-----------|-------------|------|------
        3001  |    18.69  |  10/03/1990 | 2008 | 1007
        3003  |   767.19  |  10/03/1990 | 2001 | 1001
        3002  |  1900.10  |  10/03/1990 | 2007 | 1004
        3005  |  5160.45  |  10/03/1990 | 2003 | 1002
        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
       -----------------------------------------------

ਬ,  snum  ⠡ 稪 㪠뢠,  த
祭  稪.   snum 易  ⠡楩 த殢,
  ଠ   த. 祢,  த 
஬ 祭 稪  㦥 ⢮ -  , 
祭 snum  ⠡ 稪  ⠪  ।⠢                                                                                                         
 ⠡ த殢. ᫨  ⠪,  ,  " ⥬ 室 
 ﭨ ࠢ筮 楫⭮ ". 
 뢮 㤥    ଠ쭮 ᭥   19.

:    ।⠢ ⠡  ⥪  ᪨ 
 - த殢, 稪  浪,    㯮 
  ⨬ .   㣨 ਬ塞   
⠡  ᠭ  ᪨   ⫨    
 ⠡ ⮩  . ஬ ⮣  楫 筮,  -
稪, த殢, ⥬ ⠫  ⠪   ⥪, ⠪
   뭨.


                              7
_________________________________________________________________

 ਢ  ਬ  宦 樨  ॠ쭮 , 
  㤥 ᯮ짮 SQL ⮡ ᫥  த栬,  
稪,  浪 稪.  ᬮਬ   
⠡  祭  . 
   ⮫  1.1

                 
  ---------    ----------------------------------------------
   snum        㭨  祭  த
                 ( "  㦠饣 " ).
   sname        த.

   city         ᯮ த( த ).

   comm       ᨮ த殢  筮 ଥ.

 1.2 ᮤন ᫥騥 ⮫:

                  
  --------     ---------------------------------------------------
   cnum       㭨  祭  稪.

   cname       稪.

   city        ᯮ 稪( த ).

   rating       㪠뢠饣 ஢ ।⥭  稪
                । 㣨.  ᮪  㪠뢠  襥
                ।⥭( ३⨭ ).
   snum        த 祭 ⮬ 稪
                (  ⠡ த殢 )

   ⮫   1.3:

                  
    ---------    ---------------------------------------------------
    onum      㭨    ਮ⥭.

    amt       祭 㬬 ਮ⥭.
 
    odate      ਮ⥭.

    cnum       稪 饣 ਮ⥭
               (  ⠡ 稪 ).
    snum       த த饣 ਮ⥭
               (  ⠡ த殢).



     8         SQL              
______________________________________________________________
        . 1


===========   ============

    ⠪ ५樮  , ⨥, ஥ 
 ᫮ 祬   ᠬ .  ⠪ 稫  
㭤⠫ ਭ樯 ⭮⥫쭮 ⮣,  ᤥ ⠡ - 
 ࠡ ப  ⮫,  ࢨ  ⫨ ப 
㣠 㣠,   ⮫  뫠  祭  㣨 
⮫.  
 﫨    ᨭ ப,     ᨭ 
⮫.  ନ   㦤 SQL,   㤥 
ᯮ짮   ࠢ ⥯  ⮩ .

 ⥯   ⠡栬 ਬ஢. ⪨   , 
ᯮᮡ  設⢮ ᮡ⥩ 몠,    㢨
  ,  㤥 ᯮ짮 㣨 ⠡  㫠 
 ࠧ      ⠡ ⮡   
 㣨 .

  ⮢  㣫㡫  SQL ᠬ⥫쭮.  
   ᬮ 몠,    ଠ, 
  뫠  㦥 ன ⠬.



                                    9
______________________________________________________________________
            


**************   SQL **************

1.   ⠡ 稪  ࢨ 箬 ?
2.   ⮫殬 4  ⠡ 稪 ?
3.   㣮 뢠 ப? ⮫?
4. 祬    訢  ᬮ   ப
   ⠡?

( . ਫ A  ⢥⮢. )






                                                                                2




                                                        SQL :    





      12           SQL              
______________________________________________________________________
          . 2

      SQL 몠 
 ⠪  ।묨 騬 뢮, ⠪  ⨯  
   ᮤঠ    筮⥩  
  SQL.  祭 ᯥ    ⭮
ଠ樥  ᫥ .      
஡ 㯮  ⮩ . ⪨  ।⠢   
 㤮 ࠧ饭 ,  ஡ ன   
 ⮡  ᫥⢨ 뫠      몮.  
⨫    砫  ⮡ ਥ஢    SQL   
饭 室   ஡   ⮦ ६   ਢ  
饬   뫪       .  ਠ 
      ३  ᠭ  
 SQL,  稭   3.


=========     SQL?  ==========

SQL   ਥ஢ ᯥ樠쭮  ५樮  .
 ࠭  ࠡ    뫨  ᤥ ᫨  
 ᯮ짮 㭨ᠫ  ணࠬ஢, ଥ C. ⮡
ନ஢ ५樮    C,  室 뫮 
  ᠬ 砫.   뫨  । ꥪ - 뢠 
⠡楩     ⮡   ᫮ ப,  ⥬ 
ᮧ ⥯ 楤  饭 祭    祭 
 . ᫨   ⥫   । ப,  
室 뫮  믮  蠣 楤,  ᫥饩 :

1. ᬮ ப ⠡.

2. 믮 ஢ -    ப   ப   㦭.

3. ᫨  ⠪, ࠭  -   ⠡  㤥 ஢७.

4. ஢   㣨 ப  ⠡.

5. ᫨ ,   蠣 1.

6. ᫨ ப  , 뢥  祭 ࠭  蠣 3.

( 筮,   䠪᪨  C ,  ⮫쪮  蠣 
    뫨   祭  ॠ ணࠬ. )



                                    SQL:               13
______________________________________________________________________


SQL    .   SQL  ࠡ  ᥬ 
㯯 ⠡    ꥪ⮬   ࠡ뢠 
⢮ ଠ樨 祭  祭  ,  
 .


  ANSI ?

  㦥 ᪠뢠  ,  ⠭ SQL ।  
 ANSI (ਪ᪨ 樮  ⠭⮢ ).
SQL  ⠫ ANSI.    ⥭ IBM.  㣨
 墠⨫ SQL ࠧ ,  ࠩ    (Oracle)
⡨  IBM ࠢ  뭮 த SQL த⮢.

᫥ ⮣     ணࠬ SQL  뭪,
ANSI । ⠭  ஬    ਢ
(। ⠪ ⠭⮢   㭪樥 ANSI ).
 ᫥ ⮣,   ஡.    १ 
⠭⨧樨 ANSI   ࠭祭.    ᥣ ANSI 
।     ,  ணࠬ  
ᮮ⢥⢮ ⠭ ANSI    ࠭稢  ᫨誮 
ᨫ쭮. ,  ᢮ ।,   砩 ᮣᮢ.
ணࠬ   筮  ANSI SQL ⥫ ᮡ
  ᫠  ࠭祭  設⢠  . 
  ⥫쭮, 騥 ࠧ ANSI  ⠪ ᬮ७.
  祢  ᬮ   ᪫祭  ࠧ, 
㤠   ⥭  ७  ᯮ짮   ࠧ 
ணࠬ     । ⠭⮬ ANSI. 
 ANSI -   쭮 ⠭      祬  
,    믮  㪠  믮  
  ।.


   SQL

   SQL:  ࠪ⨢  .
襩 ,   ࠡ ,  ᯮ ࠧ筮.

ࠪ⨢ SQL ᯮ  㭪樮஢ ।⢥
   ⮡ ந 뢮  ᯮ짮  稪.
 ⮩ ଥ SQL,    ,  ᥩ  믮
  ᬮ 㢨 뢮 (᫨   ) - .

 

       14           SQL              
______________________________________________________________________
            . 2


 SQL ⮨   SQL 饭  ணࠬ,
 筮 ᠭ  ஬ 㣮 몥 (⨯  
᪠).
   ணࠬ  묨  䥪⨢. , ᪠ 
 모, 室    ன SQL  ⨫ ࠢ 
  ॡ  ७  ࠪ⨢ SQL. 
। SQL    SQL  뤠 ("passed off") 
 ६  ࠬ஢ ᯮ㥬 ணࠬ    뫨 
.

 ⮩ ,  㤥 ।⠢ SQL  ࠪ⨢ ଥ. 
   㦤    䥪    ⮬  
 易   䥩  㣨 몠.
ࠪ⨢ SQL -  ଠ   ணࠬ⠬.
   㧭 ⭮⥫쭮 ࠪ⨢ SQL  ᭮
ਬ    ଥ.  室  ᯮ짮 
   ᯮ짮  ᫥  ⮩ .


 SQL

  ࠪ⨢    ଠ SQL,  ᫥
,  㡯ࠧ.    ⭮ ⠫  ⮩
ନ  ⥭ SQL,    ᭥.
 ᮦ,  ନ  ᯮ ᥬ⭮  
ॠ.  ન ANSI    楯㠫쭮
஢,  設⢮ SQL ணࠬ ࠪ᪨  ࠡ뢠 
⤥쭮, ⠪     ⠭ 㭪樮묨
⥣ﬨ  SQL.

DDL (  ।  ) - ⠪ 뢠  ᠭ 奬
  ANSI, ⮨    ᮧ ꥪ ( ⠡, , 
ᬮ,  ⠪  )   .

DML ( 㫨஢ 묨) -     
।  祭 ।⠢  ⠡    ६.
DCD ( ࠢ 묨) ⮨  ।  ।,
ࠧ  짮⥫ 믮 । ⢨  .

  ⠢묨 ﬨ DDL  ANSI.  뢠  .
  ࠧ 모,  ࠧ  SQL 㯯஢   
㭪.


                                      SQL:              15
______________________________________________________________________


========       ========

  ⨯ 祭     ⠡ - ᪨
.  祢 ࠧ稥 -  ᫠  ⥪⮬.
    ᫠  䠢⭮ 浪   
  㣮.   ⥬  ५樮   
   ࠣ⠬ ଠ樨, ࠧ ⨯  
⭮ ⫨ 㣠  㣠, ⠪ ⮡ ᮮ⢥騥   
ࠢ.     믮.

 SQL,     祭   - ⨯ 
 㪠뢠  ⨯ 祭 ஥    ᮤঠ.
 祭       ⨯.  ⠡
稪, ਬ, cname  city - ᮤঠ ப ⥪  業, 
snum,  cnum -  㦥 .  ⮩ 稭,     
祭 Highest(訩)  祭 None()   rating, 
஥  ᫮ ⨯ .  ࠭祭 㤠筮, ⠪  
  ୮   .   㤥 ࠢ-
    祭   , ⮬   믮-
 ⢨ ⮫쪮  । ப    .    
 ᤥ ⮣ ᫨  祭   ᬥ蠭 ⨯ .

 ᮦ, ।  ⨯   ᭮ 
 ன 設⢮ ᪨ ணࠬ    樠 
⠭ SQL,  ᥣ ᮢ. ANSI SQL ⠭ ᯮ ⮫쪮 
⥪  ⨯ ,   ६  設⢮ ᪨ ணࠬ 
ᯮ 㣨 ᯥ樠 ⨯. 
 , DATA()  TIME() - 䠪᪨  ⠭-
 ⨯(   ଠ   ).   ⠪ -
ন ⠪ ⨯,  ਬ MONEY()  BINARY
(). (MONEY -  ᯥ樠쭠 ⥬ ᫥ ᯮ-
 ࠬ. 
 ଠ   । 묨 ᫠  ⥬ 
८ࠧ뢠  㣨 ⥬,      ᯮ짮  
 .)

ANSI । ᪮쪮 ࠧ ⨯ 祭 ᥫ, ࠧ
 묨 - 쭮 ⮭    . 襭 ANSI
⨯  ᫥  ਫ B.

 ᫮ ⨯ ANSI ,  ࠩ  筮,᭨ 
ᨫ ᤥ  SQL, ᮢ⨬  冷 㣨 몮.



      16           SQL              
______________________________________________________________________
           . 2

 ⨯ ᥫ ANSI , INTEGER( )  DECIMAL
( ) (   ᮪  INT  DEC, 
ᮮ⢥⢥ ),     楫, ⠪    楫 
設⢠ ࠪ᪨  ਪ ணࠬ.
⢥,  ⨯   ।⠢    
஥  ᮤন   ࠢ  筮 窨.

  ⥪ - CHAR (   ),  ⭮  ப ⥪.
 ⨯ CHAR  । ,  । ᨬ-
 ᫮ ᨬ       .  ᥣ 
ॠ権 ⠪  ⠭ ⨯ 뢠 VARCHAR(-
  ),   ⥪⮢ ப  
     । ॠ樥 ᨬ㬠 (筮 254
ᨬ ). CHARACTER  VARCHAR 祭     -
窨  "⥪". 
稥  CHAR  VARCHAR  ⮬,  CHAR  १ࢨ஢ 
筮 ⢮   ᨬ쭮  ப,  VARCHAR 
।  ⠪   室.

 ⨯     ᨬ,  ᫠.
,  1     ᨬ "1".  "1" - ⮫쪮 㣮 -
 ࠣ ⥪,  ।塞 ⥬  稥 ᫮ -
 1. ਬ 1 + 1 = 2,  "1" + "1"  ࠢ "2".
 祭 ࠭     祭,
 뢠 짮⥫   ⥪. ८ࠧ
᫥  ଠ⮬ ।塞 ⥬   ᯮ.
 ଠ ८ࠧ 㤥    ⠭ ⨯
(  ७ﬨ) ᯮ㥬   ⥬:
 ASCII  ( ᯮ㥬   ᮭ    )
 EBCDIC  (७ 筮-筮  ꬥ -
ଠ樨) (ᯮ㥬   ).
। 樨, ⠪  㯮冷稢  䠢⭮ 浪
祭 , 㤥    ଠ⮬. ਬ 
 ଠ⮢ 㤥 㦤   4.

  ᫥  뭪,   ANSI,  ᯮ짮 ⨯ 뢠 
DATE(). (  ⥬,   ᯮ ⨯ ,  筮 
    ᨬ쭮  ᫮ ,   ᤥ 
設⢮ 権  㤮. )   ᬮ ᢮ 
㬥   ணࠬ   㤥 ᯮ짮, ⮡ -
 筮,  ⨯   ন.



                                       SQL:              17
______________________________________________________________________


SQL 

    ।饣 㦤,  
ᠬ⥫ ᮣᮢ  த⮢  SQL. 
SQL   ᪮     㬥,  
  ॢ饭  ⠭ ANSI.  ᮦ, ANSI  ᥣ 
।  , ⮬ ணࠬ  ᮮ⢥⢮
⠭ ANSI    ࠭稢  ᫨誮 ᨫ쭮.
ANSI -  쭮 ⠭ -     祬   
,     ᯮᮡ    ᠬ १ 
   믮 ⮩  ᠬ .


  - ?

SQL 筮 室   ⥬   
祬  짮⥫,  ᫥⥫쭮   ࠧ稥  
 (  ᥬ⢮ PC    ᫮ 짮⥫,   
筮   ᯮᮡ ⮡ ⫨碠   㣮 ). 筮,  
⠪ ⥬,  짮⥫     ஢ન ࠢ 
     (ନ   ).  砫
ᥠ  ஬, 짮⥫ 室  ⥬ (ॣ), 
ᮮ    짮⥫, ஢   
। ID(䨪).  ⢮  ᯮ 
  ᠬ ID 㯠,  ⤥묨 짮⥫ﬨ;   筮, 
 祫  ।⠢ 讥 ⢮ 짮⥫ (  ࠧ 
६ ), ᯮ ࠧ 㯭 䨪

SQL ᫥ ⮬ ਬ. ⢨  設⢥ । SQL ਢ  
ᯥ樠쭮 㯭 䨪  筮 ᮮ⢥ 
। 짮⥫.   㣮 ꥪ ਭ 
짮⥫,      .
짮⥫      ਢ ⮡ 믮 ⢨ 
 ꥪ⮬.   楫,  ਬ,    짮⥫  
ਢ 室 ⮡ 믮  ⢨,     -
⨬ ᯥ樠쭮  㦤 ਢ   22.

樠쭮 祭 - USER()  ᯮ짮 
 㬥  .  㪠뢠  㯭 䨪 
짮⥫, 뤠襣 .



       18         SQL               
______________________________________________________________________
           . 2

  

祢 ᫮ -  ᫮   ᯥ樠쭮 祭  SQL.
   ,   ⥪⮬    ꥪ⮢.
 㤥 뤥 祢 ᫮    .
  ᮡ ஦ ⮡   祢 ᫮
 ନ.

SQL  । ᯥ樠 ନ  ᯮ
⮡ 뢠 . ।  - ⠪ ᫮  , ।,
 ।,   訬  ᠭ   몠
   - ᠬ⥫쭮  SQL.

,  ।,  ﬨ 묨  頥 
 SQL  .
      ⤥ ᪨ ⥩ 뢠 
।ﬨ. । 稭 祢 ᫮  ண  
 ந묨,    祢 ᫮  㬥⮢.
ਬ ।  묨   ⠫ -  " FROM
Salespeope "  " WHERE city = "London". 㬥  
 祭 ।.  ਬ , Salespeople - 㬥,
 FROM - 祢 ᫮ । FROM.
筮, " city = "London" " -  㬥 । WHERE.
ꥪ -         ࠭ 
.    ᥡ  ⠡, ।⠢ (  ⨯
⠡ ),  .
⮡    ନ ,  㤥   
ਬ. , ,  ଠ ⮤ ᠭ 
ᯮ ⠭⨧஢ ᫮ 祭.  㤥
ᯮ짮     ,  㤮⢠ ⮡   
᫮ 祭  砥 ᫨  ⮫    㣨 SQL 
㬥. 
 ᪮ ( [ ] )  㪠뢠    ᯮ짮-
,   ( ... ) 㪠뢠   ।饥   
  ᫮ ࠧ.
 祭  㣫 ᪮ (<>) - ᯥ樠 ନ
    ᮡ ।⠢.  ⨫
⠭ ନ SQL ⥫쭮,   襭 
.




                                   SQL:                19
______________________________________________________________________



==============     ================

  諨 ᭮  ⮩ .  訬 ७  뫮 - 
 ஫  ᭮ SQL, ⠪ ⮡     
⭮⥫쭮 ᥣ ꥬ. 
  ⨬  ᭮  ᫥饩 ,   ⠭
 묨.    - ⭮⥫쭮 SQL -  
 ,   ᯮ,   ।⠢ ,                
 । (   ᮣᮢ 騥  ⮬ ), 
  ᫮ 祭  ନ ᯮ㥬 ⮡ 뢠 
. 
  -  ଠ樨   ;       
   ஡,   ᬮ     ᫨ 
. 
  3,  㤥 , 뢠 ⭮,  ନ  
   .  ।⠢   SQL ᯮ㥬 ⮡
 ଠ  ⠡,     ப
ᯮ㥬   SQL.   ⮩ ,  㤥 ᯮᮡ
  ଠ  襩    ᮪ ⥯ 
筮.



      20         SQL   
______________________________________________________________________
           .2

**************   SQL **************

1.  襥 ᭮ ࠧ稥  ⨯   SQL ?

2. ᯮ ANSI ⨯  DATA ?

3.  ࠧ SQL ᯮ ⮡  祭 
   ⠡ ?

4.  ⠪ - 祢 ᫮ ?

( . ਫ A  ⢥⮢. )





                                                                                 3




 SQL  

                    






      22          SQL              
______________________________________________________________________
           . 3

       
ଠ  ⠡.  㧭  ᪠  㯮冷稢 
⮫   ⮬᪨ ࠭ 筮   襣 
뢮.  祭,  㧭  ⠭ ᫮( ஢ ) 
   ᯮ짮 ⮡ ।  ப ⠡ 
ᯮ  뢮.  ᫥ ᮡ, 㤥  ᠭ  
            SQL.


=========       ===========

  ન ࠭, SQL ᨬ ᮡ ஢ 
 ᮢ.  - ⭮   ᯮ㥬 ᯥ SQL. 
᪨,  ⥣ਨ SQL 짮⥫,  ⭮ ⮡ - 
ᯮ짮    祣- 㣮.  ⮩ 稭,  㤥 稭
 㦤 SQL  㦤     믮  ⮬ 
몥.


   ?

 -     襩 ணࠬ  , 
  ᮮ頥  ⮡  뢥 । ଠ  ⠡ 
 .  ଠ 筮 뫠 ।⢥  ࠭
  ନ   , ,  設⢥
砥,   ⠪ ᫠ ਭ, ࠭  䠩 ( 
ꥪ    ),  ।⠢   ଠ  
㣮   .


   ?

 筮 ᬠਢ   몠 DML. , ⠪ 
    ଠ  ⠡,   뢠 
짮⥫,  㤥 ᬠਢ   ᠬ⥫
⥣ ।  DML  ந ⢨,    
뢠 ᮤঠ  .

      SQL    筮 .
 ⮩  稢 , ⮬     
 ⠪ ⮡ 믮 ᮪ ᫮ 業  ࠡ⪨ .
  뢠 - SELECT().



                   SQL     
                                            23
______________________________________________________________________



     SELECT

 ᠬ ⮩ ଥ,  SELECT   
 ⮡  ଠ  ⠡. ਬ,   
뢥 ⠡ த殢 ⠢ ᫥饥:


       SELECT snum, sname, sity, comm
          FROM  Salespeople;


뢮  ⮣  뢠  㭪 3.1.


            ===============  SQL Execution Log ============
          |                                               |
          | SELECT snum, sname, sity, comm                |
          | FROM  Salespeople;                            |
          |                                               |
          | ==============================================|
          |   snum      sname         city         comm   |
          | ------    ----------   -----------   -------  |
          |   1001      Peel         London        0.12   |
          |   1002      Serres       San Jose      0.13   |
          |   1004      Motika       London        0.11   |
          |   1007      Rifkin       Barcelona     0.15   |
          |   1003      Axelrod      New York      0.10   |
           ===============================================


㭮 3.1:  SELECT

㣨 ᫮,    뢮    ⠡.
設⢮ ணࠬ  ⠪   ⮫  ,
   ⠫쭮 ଠ஢ 뢮,   㦥
 ⠭⭮ ᯥ䨪樨.
  ᭥   ⮩ :

SELECT         祢 ᫮ ஥ ᮮ頥   
                       - .    稭 ⨬
                     ᫮, ᮯ஢ ஡.



        24          SQL             
______________________________________________________________________
            . 3

snum, sname   - ᯨ᮪ ⮫殢  ⠡  롨
                 ᮬ.  ⮫  ᫥  
                  祭  뢮 . , 筮,   
                    㤠   ଠ 㤥 
                  ⠡, ⮬     
                 ଠ  ⠡;  ⮫쪮 뢠 .

FROM       FROM - 祢 ᫮,  SELECT, ஥ 
Salespeople    ।⠢   .  ᮯ஢-
                  ஡  ⥬  ⠡ ᯮ㥬
                  ⢥ 筨 ଠ樨.
                   砥 -  ⠡ த殢(Salespeople). 


    ;           窠  ⮩ ᯮ   ࠪ⨢
                  SQL ⮡ ᮮ    
                   ⮢ 믮.
                   ⥬    (\)  ப, 
                  ஬  . 

⢥,  ⠪ ࠪ  易⥫쭮 㤥 㯮冷稢 뢮 
 㪠 ᯮᮡ.   ᠬ  믮  ⥬  ᠬ묨 
묨   ࠧ ६  ᬮ 뢥   ᠬ 冷. 筮, 
ப 㦨  ⮬ 浪  ஬    ⠡, 
᪮   ⠭  ।饩  -  冷 ந. 
  易⥫쭮 㤥  冷  ஬    
࠭﫨.   㯮冷稢 뢮  SQL ।⢥: 
  ᯥ樠쭮 ।. ,     .
 ᥩ,  ᢮,   ⢨  㯮冷祭,   
। 浪  襬 뢮.



                     SQL    
                                            25
______________________________________________________________________


 ᯮ짮  (  ENTER )  ந.
  筮 ⠭  㤮 ⠢ ,  ᪮쪮 ப
   ப, ᫥騬 ࠧ:

      SELECT snum, sname, city, comm FROM Salespeople;   

    SQL ᯮ   ⮩ ⮡ 㪠뢠 
, 設⢮ ணࠬ SQL ࠡ뢠  (१ 
   ENTER )  ஡.  -   ⮡
ᯮ짮   ࠢ     ࠭, ⮡
ᤥ      ⥭   ࠢ묨.


    

᫨     ⮫ ⠡,  易⥫쭮
᮪饭 ஥   ᯮ짮. 窠 (*) 
ਬ  뢮  ᯨ᪠ ⮫殢 ᫥騬 ࠧ:

      SELECT *
      FROM Salespeople;

 ਢ뢥  ⮬  १    । .



 SELECT

 饬 砥,  SELECT 稭  祢 ᫮ SELECT,
ᮯ஢ ஡. ᫥ ⮣  ᫥ ᯨ᮪  
⮫殢    , ⤥塞 묨. ᫨   
  ⮫ ⠡,     ᯨ᮪ 窮 (*).
祢 ᫮ FROM ᫥饥 , ᮯ஢ ஡  
 ⠡   ன .
 祭, 窠  ⮩ ( ; )  ᯮ짮 ⮡  
  㪠   ⮢  믮.


   
 

 SELECT ᯮᮡ  ண । ଠ  
⠡. 砫,   ।⠢  㢨 ⮫쪮



    26          SQL            
_____________________________________________________________________                                     
        . 3 

। ⮫ ⠡.
 믮 ,  ᪫祭 ⮫殢    
,    SELECT. ਬ, 

   SELECT sname, comm
      FROM Salespeople;

㤥 ந 뢮   㭪 3.2.


           ===============  SQL Execution Log ============
        |                                               |
        | SELECT snum, comm                             |
        | FROM  Salespeople;                            |
        |                                               |
        | ==============================================|
        |        sname             comm                 |
        |   -------------      ---------                |
        |        Peel              0.12                 |
        |        Serres            0.13                 |
        |        Motika            0.11                 |
        |        Rifkin            0.15                 |
        |        Axelrod           0.10                 |
         ===============================================

㭮 3.2: 롮 । ⮫殢

  ⠡   讥 ⢮ ⮫殢
ᮤঠ ,      ⭮騬 
⠢ . ⥫쭮,    ᯮᮡ  
롮 ⮫쪮    ⮫殢.

 

 ᫨ ⮫ ⠡,  ।, 㯮冷祭,  
砥   㤥 ⠭   ⮬  浪.
筮, 窠 (*)   ⮫   ⢥ 浪, 
 ᫨  㪠 ⮫ ⤥쭮,      ⮬
浪 ஬ .  ᬮਬ ⠡ 浪, 
ᮤঠ  ਮ⥭(odate),  த(snum), 
浪(onum),   㬬 ਮ⥭(amt):



                     SQL   
                                           27
______________________________________________________________________



   SELECT odate, snum, onum, amt
      FROM Orders;

뢮 ⮣    㭪 3.3.

      =============  SQL Execution Log  =============
    |                                                 |
    |  SELECT odate, snum, onum, amt                  |
    |  FROM Orders;                                   |
    |                                                 |
    | ------------------------------------------------|
    |     odate        snum        onum          amt  |
    | -----------   -------      ------     --------- |
    | 10/03/1990       1007        3001         18.69 |
    | 10/03/1990       1001        3003        767.19 |
    | 10/03/1990       1004        3002       1900.10 |
    | 10/03/1990       1002        3005       5160.45 |
    | 10/03/1990       1007        3006       1098.16 |
    | 10/04/1990       1003        3009       1713.23 |
    | 10/04/1990       1002        3007         75.75 |
    | 10/05/1990       1001        3008       4723.00 |
    | 10/06/1990       1002        3010       1309.95 |
    | 10/06/1990       1001        3011       9891.88 |
    |                                                 |
      ===============================================

㭮 3.3:  ⮫殢

   ,  ଠ樨  ⠡ -  
᭮  ⨢ ன   SQL.

  

DISTINCT () - 㬥  ᯥ稢 
ᯮᮡ ࠭  祭  襣 । SELECT.
।      த  饥 ६
 ᢮ 浪  ⠡ 浪.   浪 (  )
㤥    ⠡ 浪, ॣ ਮ-
⥭ ᤥ  ।  । 稪  -
 த  । 㬬).
  㦭 , ᪮쪮 浪  ;  㦥 ⮫쪮
ᯨ᮪ ஢ த殢 (snum). ⮬   :

     SELECT snum
       FROM Orders;

 祭 뢮   㭪 3.4


     28          SQL           
______________________________________________________________________
          . 3

                    ===============  SQL Execution Log ============
              |                                               |
              | SELECT snum                                   |
              | FROM  Orders;                                 |
              |                                               |
              | ============================================= |
              |   snum                                        |
              | -------                                       |
              |   1007                                        |
              |   1001                                        |
              |   1004                                        |
              |   1002                                        |
              |   1007                                        |
              |   1003                                        |
              |   1002                                        |
              |   1001                                        |
              |   1002                                        |
              |   1001                                        |
                =============================================

㭮 3. 4: SELECT  㡫஢ ஢ த殢.

 祭 ᯨ᪠  㡫⮢,  㤮⠥,   
 ᫥饥:

       SELECT DISTINCT snum
          FROM Orders;

뢮  ⮣    㭪 3.5.

  㣨 ᫮, DISTINCT ᫥  ⥬,  祭 뫨 
࠭, ⠪     뫨 த㡫஢  ᯨ᪥.  -  
ᯮᮡ  筮 ,      ⮬  
   . ᫨      , 
   來 ᯮ짮 DISTINCT, ⮬    
 - ஡  -  . 
ਬ,    ।     稪 
ࠧ. ᫨ - 頥 ண Clemens  ⠡ 稪, 
  ᯮ SELECT DISTINCT cname,   㤥  
 ⢮ .     ⮣ Clemens   
   ⮬.      筮,  ⮬ 砥  
  ᯮ짮 DISTINCT.


 DISTINCT

DISTINCT  㪠뢠 ⮫쪮  ࠧ   ।
SELECT. ᫨ । 롨ࠥ ᫥ ,


                      SQL   
                                            29
______________________________________________________________________



                  ===============  SQL Execution Log ============
              |                                               |
              | SELECT DISTINCT snum                          |
              | FROM  Orders;                                 |
              |                                               |
              | ============================================= |
              |   snum                                        |
              | -------                                       |
              |   1001                                        |
              |   1002                                        |
              |   1003                                        |
              |   1004                                        |
              |   1007                                        |
                =============================================

㭮 3.5: SELECT  㡫஢

DISTINCT ᪠ ப   ࠭  . ப 
  祭    ࠧ - 
࠭. DISTINCT, 䠪᪨, ਢ   ᥩ ப 뢮,
 㪠뢠  (  ᪫祭   ᯮ  ॣ-
 㭪権,  ᠭ   6 ), ⠪    ᫠ ⮡
 .


DISTINCT  ALL

 DISTINCT,   㪠 - ALL.  㤥  ⨢ 
䥪, 㡫஢ ப 뢮 ࠭. 
   -   ᠬ 砩    㪠뢠  DISTINCT  
ALL,  ALL -   ᪮॥ ᭨⥫,   騩 㬥.


            
=======   ========

  ⥭ ⠭ 祭 訬, ᪮ 
祭 ६,  襥  襥 ⢮ ப   .
᪮ 筮   ⮫쪮 । ப   
 ६, SQL    ⠭ ਨ ⮡
।  ப  ࠭  뢮.



     30          SQL          
______________________________________________________________________
         . 3


 WHERE - ।  SELECT, ஥   
⠭ ।, ᫮       
   ப ⠡.   ⮫쪮  ப 
 ⠡  ன ⠪ ⢥ত ୮. 
ਬ, ।      ᨮ  
த殢  .    ⠪ :

      SELECT sname, city
        FROM Salespeople;
        WHERE city = "LONDON";

 । WHERE ।⠢, ணࠬ   
ᬠਢ  ⠡   ப  ᫥  ப 
⮡ । ୮  ⢥ত.
⥫쭮,   Peel, ணࠬ ᬮ ⥪饥 祭 
⮫ city, ।   ࠢ "London",    ப  
뢮.   Serres  㤥 祭,  ⠪ .
뢮  㯮⮣    㭪 3.6.



               ===============  SQL Execution Log ============
              |                                               |
              | SELECT sname, city                            |
              | FROM  Salespeople                             |
              | WHERE city = 'London'                         |
              | ============================================= |
              |   sname           city                        |
              |  -------       ----------                     |
              |   Peel            London                      |
              |   Motika          London                      |
                =============================================

㭮 3.6: SELECT c । WHERE



                      SQL   
                                           31
______________________________________________________________________



 ஡㥬 ਬ  ᫮   । WHERE. 
 rating ⠡ 稪 ।祭 ⮡ ࠧ 
稪  㯯 ᭮     
 祭  ⮣ १  .   - ଠ 業
।  業 ᭮  ⮬ । ਮ⥭.
 ᫮      ५樮   
ᯮᮡ  ⮣ ᫮ ଠ樨.    
稪  ३⨭ 100, ᫥騬 ࠧ:

     SELECT *
        FROM Customers
        WHERE rating = 100;

 窨  ᯮ  ⮬,  業 -  ᫮
.
    㭪 3. 7.

। WHERE ᮢ⨬  ।騬 ਠ  ⮩ .
㣨 ᫮,   ᯮ짮  ⮫殢, ࠭ 
㡫,  㯮冷稢 ⮫   SELECT  
ᯮ WHERE. ,    冷 ⮫殢  
 ⮫쪮  । SELECT,    । WHERE.


               ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers                               |
              | WHERE rating = 100;                           |
              | ============================================= |
              |   num     cname    city     rating    snum   |
              |  ------   --------  ------    ----   ------   |
              |   2001     Hoffman  London     100     1001   |
              |   2006     Clemens  London     100     1001   |
              |   2007     Pereira  Rome       100     1001   |
                =============================================

㭮 3.7:  SELECT  ᫮   ।



       32           SQL          
______________________________________________________________________
             . 3


===============      ===============

   ᪮쪮 ᯮᮡ ⠢ ⠡  
 ଠ   ,    뢠   
 ᮤঠ.   㯮冷稢 ⮫ ⠡  
࠭   .   ,    㡫-
 祭  .

  ,    ⠭ ᫮ 뢠
।⮬ ஥ ।   । 㪠 ப
⠡   ⠪  ப, 㤥   ࠭  뢮.

।  ⠭ 祭 ᫮묨, ।⠢  ᮪
筮  襭,  ப  롨   . 
  ᯮᮡ  筮,    ,   
SQL ⠪ 묨.
騥 ᪮쪮   ᢥ饭,  襩 , ᮡ
  魮 ।⮢.   4,   ।⠢ 
  祬   ᯮ  ᫮ ।,  ⠪ 
ᯮᮡ ꥤ ᫥ ᫮   ।.




          SQL   
                                            33
______________________________________________________________________


*************   SQL ***************

1.   SELECT   뢥  浪,
   㬬,     ப  ⠡ 浪.

2.    뢥   ப  ⠡
   稪    த = 1001.

3     뢥  ⠡  ⮫栬  ᫥饬
   浪: city, sname, snum, comm.

4.   SELECT  뢥  業(rating),
   ᮯ஢   稪  San Jose.

5.    뢥  祭 snum  த殢 
    ⥪饬 浪  ⠡ 浪      뫮
   ७.

( . ਫ A  ⢥⮢. )






                                                                                     4


 
              

                           

                                

                     




       36          SQL          
______________________________________________________________________
           . 4

  3,      
業 ࠢ⢮   ୮  ୮.   
⠪ 業 㣨  痢 ஬ ࠢ.   㤥 
᫥ 㣨 ५樮  ᯮ㥬  SQL.  
⠪ 㧭  ᯮ짮  , ⮡   
ꥤ 祭 ।.   ஢  (  
 ᪨  ஢),  ।  ᮤঠ 
 ᫮ ᫮.    ᮧ 祭 ᫮ 
।. ᯮ짮 㣫 ᪮    ᫮ 
।⮢ 㤥 ⠪ .

=========      =======

樮  - ⥬᪨ ᨬ  㪠뢠 
। ⨯ ࠢ   祭ﬨ.  㦥  
ᯮ ࠢ⢠, ⠪  2 + 3 = 5  city = "London".
 ⠪  㣨 ५樮 . ।  
   த殢   ᨮ묨  ।
祭.   ᯮ짮 ⨯ ࠢ  " 祬" - (>).
樮  묨 ᯮ SQL :

           =     

           >     祬

           <     祬

           >=   祬  ࠢ

           <=   祬  ࠢ

           <>   ࠢ

     ⠭ 祭  ᫮ 祭.
 祭 ᨬ,  ।   ଠ ८ࠧ, 
ASCII  EBCDIC,   ᯮ.  
SQL ࠢ ᨬ 祭  ନ ᭮ ஢  
।  ଠ ८ࠧ.  祭 ᨬ, ⠪ 
"1",   ।⠢ ,  易⥫쭮 ࠢ   
 ।⠢.    ᯮ짮 ५樮  ⮡ 
⠭ 䠢 冷 - ਬ, "a" < "n"    ।⢮ a 
ࢮ  䠢⭮ 浪 -    ࠭稢   
ࠬ ८ࠧ ଠ.

      
                 37
______________________________________________________________________

  ASCII   EBCDIC, ᨬ -  祭:  祬  㣨
ᨬ   ।  䠢⭮ 浪    
ਠ( 孨   ).  ASCII,  ᨬ 孥 ॣ -
 祬  ᨬ  ॣ, ⮬ "Z" < "a",  
 -  祬  ᨬ, ⮬ "1" < "Z".   ⭮   
EBCDIC. ⮡ ࠭ 㦤  ,  ⨬   
㤥 ᯮ짮 ⥪⮢ ଠ ASCII.  ப  襩
㬥樥 ⥬ ᫨  㢥७  ଠ  ᯮ
   ࠡ⠥.
祭 ࠢ  뢠 - ᪠묨 祭ﬨ.
 祭 ந ᪠묨 ࠦﬨ; 1 + 2 - 
 ᪠୮ ࠦ ஥ ந ᪠୮ 祭 3.
୮ 祭   ᨬ  ᫮,  祢
 ⮫쪮  ᯮ  䬥᪨ ࠬ,
⠪   +()  *().
। 筮 ࠢ 祭 ᪠ 稭, ᯮ 
 ५樮   ᯥ樠  SQL ⮡ 
㢨 ୮   ࠢ.   SQL ᠭ  
 5.
।    㢨  稪  業(rating)
 200.   200 -  ᪠୮ 祭,   祭  ⮫
業,   ࠢ   ᯮ짮 ५樮 .

    SELECT *
       FROM Customers
       WHERE rating > 200;

뢮  ⮣  뢠  㭪 4.1.

筮, ᫨   ⥫ 㢨   稪  業 
ࠢ 200,  ⠫  ᯮ짮 ।

             rating > = 200

=========       ===========


᭮ 㫥  ⠪ ᯮ  SQL. ࠦ
 -   묨  묨,  ।⠬.
㫥  뢠    /
祭  ந ⢥ ୮//୮ 祭.
⠭묨 ࠬ  ᯮ묨  SQL :

              AND,  OR,  NOT.



       38          SQL           
______________________________________________________________________
            . 4

    
                    ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers                               |
              | WHERE rating > 200;                           |
              | ============================================= |
              |   snum     cname    city     rating    snum   |
              |  -----   --------  --------  -----   ------   |
              |   2004     Crass    Berlin     300     1002   |
              |   2008     Cirneros San Jose   300     1007   |
                =============================================

㭮 4.1:  ᯮ짮  祬 (>)

  㣨,  ᫮,   ( ⨯ " ᪫祭 
 " ),      ନ஢     ஢ 
- AND, OR, NOT.
   , 㫥  / ୠ  - ᭮  ஢ 
୮ 樨;  䠪᪨,  SQL(   㣮  ) 
  ᢥ  ஢ 㫥 .

     ࠡ:

*  AND    (  ଥ A AND B)  㬥 
   業   ⭮襭  ⨭,    .

*  OR    (  ଥ A OR B)  㬥 
   業  ࠢ쭮, ७    .

*  NOT   㫥 (  ଥ NOT A)  㬥 
      祭  ୮  ୮  ୮ 
   ୮.

뢠 ।  ࠬ ,   ⥫쭮
㢥  . ।    
稪  San Jose   業(३⨭)  200:

         SELECT  *
            FROM Customers
            WHERE city = " San Jose'
            AND rating > 200;



     
                 39
______________________________________________________________________


뢮  ⮣     㭪 4.2.   ⮫쪮  
稪  㤮⢮ ⮬ ᫮.

᫨   ᯮ OR    稪  
室  San Jose (OR)   業  200.


               ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers                               |
              | WHERE city = 'San Jose'                       |
              | AND rating > 200;                             |
              | ============================================= |
              |   num     cname    city     rating    snum   |
              |  ------   --------  --------  ----    -----   |
              |   2008     Cirneros San Jose   300     1007   |
                =============================================


㭮 4.2: SELECT ᯮ騩 AND


           SELECT *
              FROM Customers
              WHERE city = " San Jose'
              OR rating > 200;

뢮  ⮣  뢠  㭪 4.3.

NOT  ᯮ짮  ஢ 祭 . 
ਬ   NOT:

                    SELECT *
                       FROM Customers
                       WHERE city = " San Jose'
                       OR NOT rating > 200;

뢮 ⮣   뢠  㭪 4.4.



     40         SQL          
______________________________________________________________________
          . 4


               ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers                               |
              | WHERE city = 'San Jose'                       |
              | OR rating > 200;                              |
              | ============================================= |
              |   num     cname    city     rating    snum   |
              |  -----    -------  --------  -----   ------   |
              |   2003     Liu      San Jose   200     1002   |
              |   2004     Grass    Berlin     300     1002   |
              |   2008     Cirneros San Jose   300     1007   |
                =============================================


㭮 4.:3: SELECT ᯮ騩 OR

                      ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers                               |
              | WHERE city = 'San Jose'                       |
              | OR NOT rating > 200;                          |
              | ============================================= |
              |   cnum     cname    city     rating    snum   |
              |  ------   --------  ------   -----    -----   |
              |   2001     Hoffman  London     100     1001   |
              |   2002     Giovanni Rome       200     1003   |
              |   2003     Liu      San Jose   200     1002   |
              |   2006     Clemens  London     100     1001   |
              |   2008     Cirneros San Jose   300     1007   |
              |   2007     Pereira  Rome       100     1004   |
                =============================================

㭮 4.4: SELECT ᯮ騩 NOT

     ᪫祭 Grass 뫨 ࠭. Grass    San Jose, 
  業 뫠  祬 200, ⠪   ௥ 㤠   
஢ઠ.    㣨 ப ⨫   㣮    
ਥ.      NOT  ।⢮ 




     
                  41
______________________________________________________________________


㫥 ,  祭  ,    
 । ५樮 ஬. ਬ ࠢ 
 業 । 㤥:

                 rating NOT > 200

 뤠  ⬥.   SQL 業 ᫥饥?

                   SELECT *
                      FROM Customers
                      WHERE NOT city = " San Jose'
                      OR rating > 200;

NOT ਬ  ⮫쪮  ࠦ city = 'SanJose',   
ࠦ rating > 200 ⮦ ?     ᠭ, ࠢ ⢥ 㤥 
०. SQL  ਬ NOT  ࠦ  ⮫쪮 ࠧ ᫥ 
.    㣮 १  :

                   SELECT *
                      FROM Customers
                      WHERE NOT( city = " San Jose'
                      OR rating > 200 );

 SQL  㣫 ᪮  騥,    
㤥 業   ࠡ뢠   ࠦ 
 ᥣ  ᭠㦨  (   ⠭⭮ -
樥  ⥬⨪ ). 㣨 ᫮, SQL   ப 
।, ᮮ⢥  ⨭ ࠢ⢮ city = " San Jose'  
ࠢ⢮ rating > 200.
᫨  ᫮ ୮, ࠦ   㣫 ᪮
୮. , ᫨ ࠦ   㣫 ᪮ ୮,
।   楫 ७, ⮬  NOT ८ࠧ ୮
 ୮  .

뢮  ⮣  - 뢠  㭪 4.5.

 ७ ᫮ ਬ. ᬮਬ ᬮ   ᫥
  (뢮   㭪 4.6 ):

        SELECT *
           FROM Orders
             WHERE NOT ((odate = 10/03/1990 AND snum >1002)
                OR amt > 2000.00);



     42         SQL           
______________________________________________________________________
          . 4
     
                      ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers                               |
              | WHERE NOT  (city = 'San Jose'                 |
              | OR rating > 200);                             |
              | ============================================= |
              |   cnum     cname    city     rating    snum   |
              |  -----   --------  -------   -----   ------   |
              |   2001     Hoffman  London     100     1001   |
              |   2002     Giovanni Rome       200     1003   |
              |   2006     Clemens  London     100     1001   |
              |   2007     Pereira  Rome       100     1004   |
                =============================================

㭮 4.5: SELECT ᯮ騩 NOT   ।


                      ===============  SQL Execution Log ==============
              |                                                 |
              | SELECT *                                        |
              | FROM  Orders                                    |
              | WHERE NOT ((odate = 10/03/1990 AND snum > 1002) |
              | OR amt > 2000.00);                              |
              | =============================================== |
              |   onum       amt      odate      cnum     snum  |
              |  ------   --------  ----------  -----    -----  |
              |   3003      767.19  10/03/1990   2001     1001  |
              |   3009     1713.23  10/04/1990   2002     1003  |
              |   3007       75.75  10/04/1990   2004     1002  |
              |   3010     1309.95  10/06/1990   2004     1002  |
               =================================================

㭮 4.6:   () 


ᬮ    㫥 ॠ 㠫쭮 ,   ⠪
    ᭮ ࠦ.



     
                      43
______________________________________________________________________


ᮡ 業  㫥 ⮨  ⮬, ⮡ 業
㫥 ࠦ  㡮   㣫 ᪮,
ꥤ   筮 㫥 祭,  ⥬ ꥤ
  孨 祭ﬨ.
   ஡ ᭥ ⮣  ਬ   ᫥.
 㡮  ࠦ   । - 
odate = 10/03/1990  snum > 1002  ꥤ묨 
 AND, ନ  ࠦ  ஥ 㤥
業  ୮   ப   ⨫  
᫮.  ⠢ 㫥 ࠦ (஥  㤥 뢠
㫥  1,  B1  ⪮) ꤨ  ࠦ
(amt) > 2000.00 (B2)   OR, ନ  ࠦ (B3),
஥     ப, ᫨  B1  B2
-   ⮩ ப.
     B3  ᮤন  㣫 ᪮  ।
NOT, ନ ᫥ ࠦ (B4), ஥ 
᫮ ।.
 ࠧ B4, । , - 㤥 ७ 直 ࠧ,  B3 
ࠢ. B3 - ࠢ ᥣ,  B1  B2 -  . 
B1 ࠢ  ப ᫨  浪 ப  10/03/1990,  
᫨ 祭 snum  襥 祬 1002.  B2  ࠢ   ப, 
祭 㬬 ਮ⥭   ॢ蠥  2000.00.
 ப  祭  2000.00 ᤥ B2 - ;  
१ B3 㤥 ७,  B4 .  ⥫쭮,   ப  
㤠  뢮.
  ⠢, ப   3   snum > 1002 ( ⠪ 
 ப  onum 3001  3   snum = 1007 ),   B1 
,   ୮ B3  ୮ । .
  ⠪ 㤠  뢮. 뢮   ப 
⠢.


================    ================

 ⮩ ,  ⥫쭮 ਫ  ⢮  ।⠬. 
   室 祭  易   祭 
 ᯮᮡ -  ।塞 ࠧ묨 ५樮묨 ࠬ.
   ⠪ ᯮ짮   AND  OR ⮡  
᫮,    ⮭  ।, ꥤ  
 ।.
  NOT,   㦥 ,   祭
᫮  㯯 ᫮  ⨢.



      44         SQL              
______________________________________________________________________
           . 4

㫥  樮   䥪⨢ ࠢ  
㣫 ᪮,  । 冷,  ஬ 樨 
믮.  樨 ਬ   ஢ ᫮   
﫨  ᫮ ᫮  ᮧ    ⥩.

,     ᯮ ⠭ ⥬᪨
,   ३  ࠬ   ᪫⥫-
묨  SQL.   ᤥ   5.




               
                               45
______________________________________________________________________


**************   SQL **************


1.        浪  祭ﬨ
   㬬  祬 $1,000.

2.     뤠   sname  city   
   த殢    ᨮ묨   .10 .

3.    ⠡ 稪 祩 뢮   
   稪  業  =< 100, ᫨   室  .

4.    뢥  १ ᫥饣  ?

              SELECT *
                 FROM Orders
                 WHERE (amt < 1000 OR
                     NOT (odate = 10/03/1990
                         AND cnum > 2003 ));


5.    뢥  १ ᫥饣  ?

              SELECT *
                 FROM Orders
                 WHERE NOT ((odate = 10/03/1990 OR snum > 1006)
                    AND amt > = 1500 );


6.    ९ ⠪  ?

              SELECT snum, sname, city, comm
                 FROM Salespeople
                 WHERE ( comm > + .12 OR
                    comm < .14 );


( . ਫ A  ⢥⮢. )





                                                                                  5




                                 

                   




      48         SQL             
_____________________________________________________________________
          . 5

     
ࠬ 㦤   4, SQL ᯮ ᯥ樠
 IN, BETWEEN, LIKE,  IS NULL.  ⮩ ,  
㧭   ᯮ짮   ५樮   
ᮧ  ᫮   ।.
㦤  IS NULL  㤥  ⢨   
祭 NULL, ஥ 㪠뢠  :   .
 ⠪ 㧭  ࠧ ᯮ짮  NOT
ਬ饣  ⨬ ࠬ.


============   IN  ===============

 IN ।  祭  ஥  祭  
    祭.  ᮮ⢥⢨  襩 祡   
 ன  砥  饥 ६, ᫨    
 த殢,  ࠧ饭  Barcelona   London,   
ᯮ짮 ᫥騩  ( 뢮  뢠  㭪 5.1 ):

      SELECT *
         FROM Salespeople
         WHERE city = 'Barcelona'
            OR city = 'London';

   ⮩ ᯮᮡ    ଠ:

       SELECT *
          FROM Salespeople
          WHERE city IN ( 'Barcelona', 'London' );

뢮  ⮣  뢠  㭪 5.2.

   , IN ।  祭    
童  祭  㣫 ᪮  ⤥ 묨.
 ⥬ ஢ ࠧ 祭 㪠    
ᮢ  祭ﬨ  . ᫨  砥,  । 
७.  ᮤন 祭 ஢   ᨬ,  
窨 ᪠.    稪 ⭮  
த栬  祭 snum = 1001, 1007,  1004. 뢮  
᫥饣    㭪 5.3:



         49
______________________________________________________________________



     SELECT *
        FROM Customers
        WHERE cnum IN ( 1001, 1007, 1004 );


            ===============  SQL Execution Log ============
          |                                               |
          | SELECT *                                      |
          | FROM  Salespeople                             |
          | WHERE city = 'Barcelona'                      |
          | OR city = 'London';                           |
          | ==============================================|
          |   snum      sname         city         comm   |
          | ------    ----------   -----------   -------  |
          |   1001      Peel         London        0.12   |
          |   1004      Motika       London        0.11   |
          |   1007      Rifkin       Barcelona     0.15   |
          |                                               |
           ===============================================

㭮 5.1   宦 த殢  ᥫ  


               ===============  SQL Execution Log ============
          |                                               |
          | SELECT *                                      |
          | FROM  Salespeople                             |
          | WHERE city IN ('Barcelona', 'London';         |
          | ==============================================|
          |   snum      sname         city         comm   |
          | ------    ----------   -----------   -------  |
          |   1001      Peel         London        0.12   |
          |   1004      Motika       London        0.11   |
          |   1007      Rifkin       Barcelona     0.15   |
          |                                               |
           ===============================================

㭮 5.2     SELECT ᯮ IN



       50          SQL                
______________________________________________________________________
           . 5
           ===============  SQL Execution Log ============
          | SELECT *                                      |
          | FROM  Customers                               |
          | WHERE snum IN ( 1001, 1007, 1004 );           |
          | ============================================= |
          |   snum     cname    city     rating    snum   |
          |  ------   --------  ------    ----   ------   |
          |   2001     Hoffman  London     100     1001   |
          |   2006     Clemens  London     100     1001   |
          |   2008     Cisneros San Jose   300     1007   |
          |   2007     Pereira  Rome       100     1004   |
            =============================================

㭮 5.3: SELECT ᯮ IN  ࠬ

===========    BETWEEN  ==========

 BETWEEN 宦   IN.  ⫨稨  ।  
ࠬ  ,    IN,  BETWEEN । , 祭 
ண  㬥   । .    
祢 ᫮ BETWEEN  砫 祭, 祢 AND  筮 
祭.   ⫨稥  IN, BETWEEN ⢨⥫  浪,  ࢮ 祭 
 ।     䠢⭮  ᫮ 浪. 
(    ,  ⫨稥  ᪮ 몠, SQL    
"祭 室 ()BETWEEN  祭  祭",   
"祭  BETWEEN 祭  祭".  ਬ    LIKE). 
騩 ਬ 㤥   ⠡ த殢  த殢  
ᨮ묨  .10   .12 (뢮  뢠  㭪 5.4):

          SELECT *
             FROM Salespeople
             WHERE comm BETWEEN .10 AND .12;

 祭  BETWEEN, 祭 ᮢ饥     
祭 ࠭ (  ⮬ 砥, .10  .12 ) ⠢ ।  .

            ===============  SQL Execution Log ============
          | SELECT *                                      |
          | FROM  Salespeople                             |
          | WHERE comm BETWEEN .10 AND .12;               |
          | ==============================================|
          |   snum      sname         city         comm   |
          | ------    ----------   -----------   -------  |
          |   1001      Peel         London        0.12   |
          |   1004      Motika       London        0.11   |
          |   1003      Axelrod      New York      0.10   |
		=============================================  

   㭮 5.4: SELECT ᯮ BETWEEN



           51
______________________________________________________________________



SQL   ।⢥ প 祭 BETWEEN.
   ।  ࠭ 祭 ⠪, ⮡
  뫠 ਥ,  ᤥ -
⨯ ⮣:

      SELECT *
          FROM Salespeople
          WHERE ( comm BETWEEN .10, AND .12 )
            AND NOT comm IN ( .10, .12 );

뢮  ⮣   뢠  㭪 5.5.

 饬 ਧ,   㪫,   뢠
     ஢  ࠬ 
⮡ ந  ᫮ ।.  ᭮, 
ᯮ IN  BETWEEN ⠪   ᯮ짮 ५樮
 ⮡ ࠢ 祭,    
 (  IN )    (  BETWEEN ).

,  ५樮 ࠬ, BETWEEN   ࠡ
 ᨬ묨 ﬨ  ନ ⮢ ASCII.  砥
   ᯮ짮 BETWEEN ⮡ 롨  祭 
 㯮冷祭  䠢 祭. 



       52          SQL              
______________________________________________________________________
           . 5

           ===============  SQL Execution Log ============
          |                                               |
          | SELECT *                                      |
          | FROM  Salespeople                             |
          | WHERE ( comm BETWEEN .10 AND .12              |
          | AND NOT comm IN ( .10 .12;                    |
          | ==============================================|
          |   snum      sname         city         comm   |
          | ------    ----------   -----------   -------  |
          |   1004      Motika       London        0.11   |
          |                                               |
           ===============================================

㭮 5.5:  BETWEEN - 祭

  롨ࠥ  稪     । 
䠢 :

            SELECT *
               FROM Customers
               WHERE cname BETWEEN 'A' AND 'G';

뢮  ⮣  뢠  㭪 5.6.

   Grass  Giovanni ,  
祭 BETWEEN.  ந室 - ⮣  BETWEEN
ࠢ ப ࠢ . ப 'G'  ⪠ 祬
ப Giovanni, ⮬ BETWEEN 뢮 'G'  ஡. ஡
। ᨬ  䠢⭮ 浪 (  設⢥ ॠ-
権 ), ⮬ Giovanni  롨ࠥ.   ᠬ ந室  
Grass.      ᯮ BETWEEN  祭 
祭  䠢 .  筮  㪠뢠   
 ᨬ 砫   ᨬ (  ண 
  ⠢ z ).



          53
______________________________________________________________________


                ===============  SQL Execution Log ============
          |                                               |
          | SELECT *                                      |
          | FROM  Customers                               |
          | WHERE cname BETWEEN 'A' AND 'G';              |
          | ============================================= |
          |   cnum     cname    city     rating    snum   |
          |  ------   --------  ------    ----   ------   |
          |   2006     Clemens  London     100     1001   |
          |   2008     Cisneros San Jose   300     1007   |
          |                                               |
            =============================================

㭮 5. 6: ᯮ짮 BETWEEN  䠢 浪


============   LIKE  =============

LIKE ਬ ⮫쪮   ⨯ CHAR  VARCHAR,  묨 
 ᯮ ⮡ 室 ப. ..    ᨬ 
⮡ , ᮢ   ᫮   ப.
 ⢥ ᫮  ᯮ 㯯 ᨬ(wildkards) - 
ᯥ樠 ᨬ   ᮮ⢥⢮ 祬-.
   ⨯ 㯯 ᨬ ᯮ㥬  LIKE:

*  ᨬ ન ( _ ) 頥   ᨬ.
   ਬ, 'b_t' 㤥 ᮮ⢥⢮ ᫮ 'bat' 
   'bit',   㤥 ᮮ⢥⢮ 'brat'.

*   業 (%) 頥 ᫥⥫쭮  ᫠
   ᨬ ( ᨬ ). ਬ '%p%t' 㤥
   ᮮ⢥⢮ ᫮ 'put', 'posit',  'opt',   'spite'.

   稪   稭  G ( 뢮
뢠  㭪 5.7 ):

       SELECT
          FROM Customers
          WHERE cname LIKE 'G%';



    54          SQL          
______________________________________________________________________
         . 5

           ===============  SQL Execution Log ============
          |                                               |
          | SELECT *                                      |
          | FROM  Customers                               |
          | WHERE cname LIKE 'G';                         |
          | ============================================= |
          |   cnum     cname    city     rating    snum   |
          |  ------   --------  ------    ----   ------   |
          |   2002     Giovanni Rome       200     1003   |
          |   2004     Grass    Berlin     300     1002   |
          |                                               |
            =============================================

㭮 5. 7: SELECT ᯮ LIKE  %


LIKE   㤮 ᫨     㣮 祭,  ᫨
     筮 . ।   㢥७  
ᠭ  㪢     த殢 Peal  Peel. 
   ᯮ짮       㯯 
ᨬ ⮡ 室    ( 뢮 ⮣  
뢠  㭪 5.8 ):

       SELECT *
          FROM Salespeople
          WHERE sname LIKE 'P _ _ l %';

㯯 ᨬ ન,    ।⠢ 
 ᨬ,  ⮫쪮  ᨬ  㦥 騬 'P'  'l' ,
⮬   Prettel    .
㯯 ᨬ ' % ' -   ப 室  設⢥
ॠ権 ᫨   sname  祬 ᫮ ᨬ  
Peel ( ⮬   㣨 祭 sname -  祬
 ᨬ ).  ⠪ 砥, 祭  sname , 䠪᪨
࠭塞   Peel, ᮯ஢ 冷 ஡.
⥫쭮, ᨬ 'l'  㤥 ᬠਢ 殬 ப.
㯯 ᨬ ' % ' -  ᮮ⢥ ⨬ ஡. 
易⥫쭮, ᫨  sname  ⨯ - VARCHAR.



          55
______________________________________________________________________


               ===============  SQL Execution Log ============
          |                                               |
          | SELECT *                                      |
          | FROM  Salespeople                             |
          | WHERE sname LIKE ' P  1% ';                   |
          | ==============================================|
          |   snum      sname         city         comm   |
          | ------    ----------   -----------   -------  |
          |   1001      Peel         London        0.12   |
          |                                               |
           ===============================================


㭮 5.8: SELECT ᯮ LIKE  ન (_)

    㤥  ᫨  㦭 ᪠  業 
 ન  ப?   LIKE ।,   । 
  ᨬ  ᨬ ESC.  ESC ᯮ 
ࠧ । 業⮬  ન  ।,  砥 
 業  ન 㤥 ஢  ᨬ
   㯯 ᨬ. ਬ,      sname
⮫   ન, ᫥騬 ࠧ:


          SELECT *
             FROM Salespeople
             WHERE sname LIKE '%/_%'ESCAPE'/';

   ⨬ 묨  㤥  뢮, ⮬   
稫  ન   襣 த. ।
ESCAPE । '/ '   ᨬ ESC.  ESC ᯮ㥬
 LIKE ப, ᮯ஢  業,  ન, 
  ESCAPE,  㤥 ᪠  ⮫,   ࠡ뢠-
  㯯 ᨬ.
 ESC    ᨬ  ਬ ⮫쪮 
筮 ᨬ ࠧ ᫥ .



      56           SQL          
______________________________________________________________________
            . 5

 ਬ , ᨬ 業 砫  ᨬ 業 砭
ࠡ뢠  㯯 ᨬ; ⮫쪮 ન ।-
⠢ ᠬ ᥡ.

 㯮 , ᨬ ESC  ⠪ ᯮ짮 ᠬ-
⥫쭮. 㣨 ᫮, ᫨  㤥 ᪠ ⮫  訬 ᨬ-
 ESC,     . -  㤥  
 ᨬ ESC " ᫥騩 ᨬ 㪢쭮  ᨬ",  
-  ᨬ ESC ᠬ⥫.
    ।騩 ਬ  ᬮ७ ⮡ ᪠
⮭宦 ப '_/'  sname ⮫:

     SELECT *
        FROM Salespeople
        WHERE sname LIKE ' % /_ / / %'ESCAPE'/';

   㤥  뢮  ⠪ 묨.
ப ࠢ  ᮤঠ  ᫥⥫쭮 ᨬ
(%), ᮯ஢ ᨬ ન ( /_ ), ᨬ ESC
( // ),   ᫥⥫쭮 ᨬ   ப ( % ).


  ( NULL ) 

,     ⠡     -
   , ਬ ⮬  ଠ  襭, 
 ⮬      﫮. SQL 뢠 ⠪
ਠ,     祭 NULL()  , 
 祭.  祭  ࠢ NULL,  砥,  
ணࠬ   ᯥ樠쭮 ஬ન஢     
饥  祭  ⮩ ப ( ). 
 ⫨砥   祭 , 祭   ஡, 
   㤥 ࠡ뢠 ⠪    㣮 
祭. 筮 ⠪,  NULL   孨᪨ 祭, 
    ⨯ .      ⨯ .
  , NULL  SQL  㯮  .

।,   稫  稪    
祭 த.   த  ஬  㦭 ,
   稪    ⥯ , ⠪    
  ⠭.



         57
______________________________________________________________________


   ப  稪  祭 NULL   snum 
    祭 ,  த 㤥 祭.


==========   NULL    =========

  NULL 㪠뢠  ⢨ 祭,    
 㤥 १  ࠢ  ᯮ짮 NULL. 
NULL ࠢ   祭,   㣨 ⠪  NULL,
१ 㤥    ,  - ⥭.
 㫥,   ᥡ ⠪  ୠ ப,
 ந ⭮ 祭  ।  㤥
࠭ ᮬ -      ६  NOT(୮) -
ࠢ ୮, NOT (⭮) - ࠢ ⭮.
  ⥫쭮, ࠦ ⨯ 'city = NULL'  'city IN (NULL)'
㤥 ⭮, ᨬ  祭 city.
      ࠧ  ୮  ⭮
-  ப ᮤঠ騬 祭 ⮫殢   
ᮮ⢥ ᫮ ।   ᮤঠ NULL  
⮫.  ⮩ 稭, SQL ।⠢ ᯥ樠 
IS,  ᯮ  祢 ᫮ NULL,  ࠧ饭 
祭 NULL.
     襩 ⠡ 稪  NULL 祭ﬨ
 city ⮫:

            SELECT *
               FROM Customers
               WHERE city IS NULL;

  㤥  뢮, ⮬      
祭 NULL   ⨯ ⠡. 祭 NULL - 祭 
,   ୥   .

 NOT  
 

樠    砫  ⮩  
 ।⢮ 㫥 NOT.



      58          SQL           
______________________________________________________________________
           . 5

 ⨢ ५樮 ࠬ,    -
 NOT -  ࠦ. ਬ, ᫨  ⨬ ࠭ 
NULL  襣 뢮,  㤥 ᯮ짮 NOT ⮡   
⨢ 祭 ।:

          SELECT *
             FROM Customers
             WHERE city NOT NULL;

 ⢨ 祭 NULL(   襬 砥 ), 㤥 뢥  
⠡ 稪.   筮   ᫥饥

           SELECT *
              FROM Customers
              WHERE NOT city IS NULL;

  -  ⠪ ਥ.

  ⠪ ᯮ짮 NOT  IN:

         SELECT *
            FROM Salespeople
            WHERE city NOT IN ( 'London', 'San Jose' );

  - 㣮 ᯮᮡ   ࠦ

       SELECT *
          FROM Salespeople
          WHERE NOT city IN ( 'London', ' San Jose' );

뢮  ⮣  뢠  㭪 5.9.

  ᯮᮡ   ᯮ짮 NOT BETWEEN  
NOT LIKE. 



          59
______________________________________________________________________


                ===============  SQL Execution Log ============
          |                                               |
          | SELECT *                                      |
          | FROM  Salespeople                             |
          | WHERE sity NOT IN ('London', 'San Jose';      |
          | ==============================================|
          |   snum      sname         city         comm   |
          | ------    ----------   -----------   -------  |
          |   1003      Rifkin       Barcelona     0.15   |
          |   1007      Axelrod      New York      0.10   |
          |                                               |
           ===============================================

㭮 5. 9: ᯮ짮 NOT  IN



===============     ================

   ᮧ ।  ନ 痢 ᯥ樠쭮
। SQL.   ᪠ 祭  । 
(BETWEEN)   ᫮  (IN),    ᪠
ᨬ 祭  ᮮ⢥ ⥪  ࠬ஢
(LIKE).
    ⠪ 稫   ⭮⥫쭮 ⮣  SQL
㯠  ⢨  -  ॠ쭮 ஢  
- ᯮ NULL   祭.     
᪫ 祭 NULL  襣 뢮 ᯮ   IS NULL.
,     襬 ᯮ殮   ⠭ 
⥬᪨  ᯥ樠 ஢,   室  ᯥ-
樠 㭪 SQL  ࠡ   㯯 祭,   
  筮 祭,  .
  㦥 ⥬  6.



        60         SQL             
______________________________________________________________________
           H. 5   

**************   SQL **************

1.       뢥  浪
    3  4  1990

2.    롥  稪 㦨
   த栬 Peel  Motika. ( ᪠:   ⨯ ⠡, 
    snum 뢠  ⠡  ࢮ )

3.  ,   뢥  稪 
    稭  㪢 饩    A  G.

4.    롥  짮⥫  
   稭  㪢 C.

5.    롥  浪 騥 㫥
   祭  NULL   amt(㬬).

( . ਫ A  ⢥⮢. )





                                                                                     6




        

                        





      62          SQL          
____________________________________________________________________
           . 6

   ,    
ᯮ짮 ᮢ  祭 祭     -
,    ᯮ짮  祭 ⮡ 
  ଠ.     ॣ   
㭪権   㯯 祭    ᢮  
筮 祭.  㧭  ᯮ짮  㭪樨,  
। 㯯 祭     ਬ,   
।  㯯 롨  뢮.  㤥 ⠪ 
   ᫮  ᬮ ꥤ 祭   
⮩ 祭 ଠ樥  筮 .


====      ?  =====

    ந 饭 㯯 祭  
筮 ⠪   祭  .      
ॣ 㭪権. ॣ 㭪樨 ந 筮 
祭  ᥩ 㯯 ⠡.  ᯨ᮪  㭪権:

*  COUNT
   ந  ப  -NULL 祭   ࠫ
    .

*  SUM
   ந 䬥 㬬  ࠭ 祭 
    .

*  AVG
   ந ।  ࠭ 祭  .

*  MAX
   ந 襥   ࠭ 祭  .

*  MIN
   ந 襥   ࠭ 祭 
    .

     ?

ॣ 㭪樨 ᯮ     ।
SELECT ,    ᪫祭,     
㬥. 쪮 ᫮   ᯮ짮  SUM  AVG. 
 COUNT, MAX,  MIN,  ᯮ짮  ᫮  


                                  C  
                                63
______________________________________________________________________

ᨬ .   ᯮ  ᨬ묨 ﬨ, 
MAX  MIN  ࠭᫨஢    ASCII,  
 ᮮ,  MIN 㤥  ࢮ,  MAX ᫥ 
祭  䠢⭮ 浪( 뤠 䠢⭮ 㯮冷祭 
㦤  ஡   4 ).

⮡  SUM   㯮  ⠡ 浪,  
 ᫥騩 ,   뢮  㭪 6.1:

            SELECT SUM ((amt))
               FROM Orders;


           ===============  SQL Execution Log ============
          |                                               |
          | SELECT SUM (amt)                              |
          | FROM  Orders;                                 |
          | ==============================================|
          |                                               |
          | -------                                       |
          | 26658.4                                       |
          |                                               |
          |                                               |
           ===============================================

㭮 6.1: 롮 㬬

  筮, ⫨砥  롮   ஬ 頥 
筮 祭, ᨬ  ⮣ ᪮쪮 ப 室  
⠡. - ⮣, ॣ 㭪樨     롨 
६,  । GROUP BY (ᠭ ) 
 㤥 ᯮ짮.
宦 । 㬬 -  宦  ( 뢮
᫥饣  뢠  㭪 6.2 ):

            SELECT AVG (amt)
               FROM Orders;



      64           SQL       
______________________________________________________________________
           . 6

             ===============  SQL Execution Log ============
          |                                               |
          | SELECT AVG (amt)                              |
          | FROM  Orders;                                 |
          | ==============================================|
          |                                               |
          | -------                                       |
          | 2665.84                                       |
          |                                               |
          |                                               |
           ===============================================

㭮 6.2: 롮 । 


  COUNT

㭪 COUNT ᪮쪮 ⫨砥  .  ⠥ ᫮ 
祭   ⮫,  ᫮ ப  ⠡.   
⠥ 祭 ⮫,  ᯮ  DISTINCT ⮡ 
ந  ᥫ ࠧ 祭   .   
 ᯮ짮 , ਬ, ⮡   த殢  
饥 ६ ᠭ  ⠡ 浪 ( 뢮 뢠 
 㭪 6.3 ):

              SELECT COUNT ( DISTINCT snum )
                 FROM Orders;


 DISTINCT

   㯮⮬ ਬ,  DISTINCT,
ᮯ஢      ਬ, 饭
 㣫 ᪮,   ࠧ ᫥ SELECT,  ࠭.
  ⮣ ᯮ짮 DISTINCT  COUNT  ਬ塞 
㠫 ⮫栬, ॡ ⠭ ANSI,  讥
⢮ ணࠬ  ।   ⠪ ॡ.



                                 C  
                                65
______________________________________________________________________


           ===============  SQL Execution Log ============
          |                                               |
          | SELECT COUNT (DISTINCT snum)                  |
          | FROM  Orders;                                 |
          | ==============================================|
          |                                               |
          | -------                                       |
          |       5                                       |
          |                                               |
          |                                               |
           ===============================================

㭮 6.3:  祭 

   롨 ᫥ ( COUNT )    
DISTINCT  筮  ,      3,  
믮   롨ࠫ ப   DISTINCT.
DISTINCT  ᯮ짮 ⠪ ࠧ,   㭪樥 ॣ, 
    ᯮ  COUNT.  MAX  MIN,   
 㤥   䥪,  SUM  AVG,  筮 ਬ 
 祭 塞 祭, ⠪    䥪⨢ 
  । 祭  ⮫殢.


 COUNT 
,   
⮡  饥 ᫮ ப  ⠡, ᯮ 㭪 
COUNT  窮   ,  ਬ  ᫥饬 
ਬ, 뢮  ண   㭪 6.4:

      SELECT COUNT (*)
         FROM Customers

  COUNT  窮 砥  NULL  㡫,  ⮩ 稭 
DISTINCT    ᯮ짮. DISTINCT  ந 
 ᮪  祬 COUNT ᮡ ,  㤠  



      66          SQL          
______________________________________________________________________
           CH 6


           ===============  SQL Execution Log ============
          |                                               |
          | SELECT COUNT (*)                              |
          | FROM  Customers;                              |
          | ==============================================|
          |                                               |
          | -------                                       |
          |       7                                       |
          |                                               |
          |                                               |
           ===============================================

㭮 6. 4:  ப  祭

ப, 騥   NULL   ⮬ .
DISTINCT  ਬ c COUNT (*), ⮬,      
⢨   ࠧࠡ⠭  ন  .
 ⠪  ,     ⠪ ப,   﫨
 묨,  㡫⮢ (   ᮤঠ 
,  ᫥   ). ᫨,  㣮 ஭,
 ⠪      ப, 
⭮   ⮡ COUNT     ଠ.

    
ॣ 㭪樨  ⠪ (  設⢥ ॠ権 )
ᯮ짮 㬥 ALL,  頥 ।  ,
 DISTINCT,  砥 ⨢: -  㡫.
ANSI 孨᪨   ⮣  COUNT,   ॠ樨
᫠  ࠭祭.
   ALL  *   ᯮ  COUNT -

*  ALL ᯮ _  㬥.

*  ALL    祭 NULL.

 *  ⢥ 㬥⮬  砥 NULL 
祭,   ᯮ ⮫쪮  COUNT; 㭪樨 ⫨  
COUNT  祭 NULL   砥.  
 ⠥(COUNT) ᫮ -NULL 祭   rating



                                  C  
                                 67
______________________________________________________________________


 ⠡ 稪 (  ७ ):

             SELECT COUNT ( ALL rating )
                FROM Customers;


   
 

 ⮣,  ᯮ짮 ॣ 㭪樨  묨 ﬨ 
㬥⠬.   ⠪ ᯮ짮 ॣ 㭪樨 
㬥⠬    ᪠ ࠦ  
  . ( ᫨   , DISTINCT  ࠧ蠥. )
।,  ⠡ 浪    ⮫ 
࠭ ।騩 㯫祭  ( blnc)   稪.
    ⥪騩 ,  㬬 ਮ⥭ 
 ।饬 .
   訩 㯫祭  ᫥騬 ࠧ:

             SELECT MAX ( blnc + (amt) )
                FROM Orders;

  ப ⠡,   㤥 ᪫뢠 blnc  amt
 ⮣ 稪  롨 ᠬ 讥 祭 ஥ 
. 筮,  稪   ᫥ 浪,
 㯫祭  業 ⤥쭮   浪.
, 冷    ⮩ 㤥  ᠬ 让
㯫祭 . ,     ࠭  
 .
   ᪨,  讥 ⢮ 権  SQL   
 ᯮ짮 ᪠ ࠦ  ﬨ   ,
  㢨    7.

                         
  GROUP BY

   । GROUP BY   । ⢮ 
祭  ᮡ   ନ 㣮 ,  ਬ 㭪 
ॣ  .     ꥤ   



     68           SQL         
______________________________________________________________________
          . 6

ॣ 㭪樨   । SELECT. 
ਬ, ।      㬬 ਮ-
⥭ 祭  த殬.   ᤥ ࠧ 
    , ࠢ MAX (amt)  ⠡ 浪  
 祭  snum. 
GROUP BY, ,        :

                 SELECT snum, MAX (amt)
                    FROM Orders
                    GROUP BY snum;

뢮  ⮣   뢠  㭪 6.5.

            ===============  SQL Execution Log ==============
          |                                                 |
          | SELECT snum, MAX (amt)                          |
          | FROM  Orders                                    |
          | GROUP BY snum;                                  |
          | =============================================== |
          |  snum                                           |
          |  ------   --------                              |
          |   1001      767.19                              |
          |   1002     1713.23                              |
          |   1003       75.75                              |
          |   1014     1309.95                              |
          |   1007     1098.16                              |
          |                                                 |
            ================================================


㭮 6.5: 宦 ᨬ쭮 㬬 த   த

GROUP BY  ਬ ॣ 㭪樨 ᨬ  ਩ 㯯
 ।   祭   楫.  ⮬ 砥,
 㯯 ⮨   ப  ⥬  ᠬ 祭  snum, 
 MAX 㭪 ਬ ⤥쭮   ⠪ 㯯.  祭
,  ஬ ਬ GROUP BY, ,  ।, ⮫쪮  
祭  㯯 뢮, ⠪    ॣ⭠ 㭪. 
⮬  ᮢ⨬   ॣ⠬   
ꥤ ⠪ ࠧ.
    ⠪ ᯮ짮 GROUP BY  ᫥묨 ﬨ.
襭 㯮 ਬ , ।  
 㢨  㬬 ਮ⥭ 砥  



                              C  
                              69
______________________________________________________________________



த殬  . ⮡ ᤥ ,   㯯஢ 
⠡ 浪  ⠬ த殢,  ਬ 㭪 MAX  
 ⠪ 㯯,  ⮬:

          SELECT snum, odate, MAX ((amt))
              FROM Orders
              GROUP BY snum, odate;

뢮  ⮣   뢠  㭪 6.6.



              ===============  SQL Execution Log ==============
          |                                                 |
          | SELECT snum, odate, MAX (amt)                   |
          | FROM  Orders                                    |
          | GROUP BY snum, odate;                           |
          | =============================================== |
          |   snum        odate                             |
          |  ------     ----------     --------             |
          |   1001      10/03/1990       767.19             |
          |   1001      10/05/1990      4723.00             |
          |   1001      10/06/1990      9891.88             |
          |   1002      10/03/1990      5160.45             |
          |   1002      10/04/1990        75.75             |
          |   1002      10/06/1990      1309.95             |
          |   1003      10/04/1990      1713.23             |
          |   1014      10/03/1990      1900.10             |
          |   1007      10/03/1990      1098.16             |
          |                                                 |
            ================================================

㭮 6.6: 宦 襩 㬬 ਮ⥭   

 筮 ,  㯯,    ⥪騩 த   浪, 
    뢮.


 HAVING

।,   ।饬 ਬ,  ⥫  㢨 ⮫쪮
ᨬ 㬬 ਮ⥭ 祭 ன  $3000.00.  
 ᬮ ᯮ짮 ॣ 㭪  । WHERE 
( ᫨   ᯮ , ᠭ  ), ⮬  
। 業  ନ 筮 ப,  ॣ 



       70          SQL            
______________________________________________________________________
           . 6

㭪樨 業  ନ 㯯 ப.  砥    
ᬮ ᤥ -  ᫥饬:

              SELECT snum, odate, MAX (amt)
                 FROM Oreders
                 WHERE MAX ((amt)) > 3000.00
                 GROUP BY snum, odate;

 㤥 ⪫  ண 樨 ANSI. ⮡ 㢨 -
ᨬ ⮨ ਮ⥭  $3000.00,   ᯮ짮-
 । HAVING.
। HAVING । ਨ ᯮ㥬 ⮡ 㤠
। 㯯  뢮, 筮 ⠪  । WHERE
   㠫 ப.
 ࠢ쭮  㤥 ᫥:

                SELECT snum, odate, MAX ((amt))
                    FROM Orders
                    GROUP BY snum, odate
                    HAVING MAX ((amt)) > 3000.00;

뢮  ⮣   뢠  㭪 6. 7.

            ===============  SQL Execution Log ==============
          |                                                 |
          | SELECT snum, odate, MAX (amt)                   |
          | FROM  Orders                                    |
          | GROUP BY snum, odate                            |
          | HAVING MAX (amt) > 3000.00;                     |
          | =============================================== |
          |   snum        odate                             |
          |  ------     ----------     --------             |
          |   1001      10/05/1990      4723.00             |
          |   1001      10/06/1990      9891.88             |
          |   1002      10/03/1990      5160.45             |
          |                                                 |
            ================================================

㭮 6. 7:  㯯 ॣ 祭



                                   C  
                                  71
______________________________________________________________________


㬥  । HAVING ᫥ ⥬  ᠬ ࠢ
   । SELECT, 饩   ᯮ
GROUP BY.     祭  㯯 뢮.
  㤥 饭:

     SELECT snum, MAX (amt)
        FROM Orders
        GROUP BY snum
        HAVING odate = 10/03/1988;

 date    맢 । HAVING, ⮬ 
   (  ⢨⥫쭮  )  祬  祭
 㯯 뢮. ⮡  ⠪ 樨, । HAVING
 뫠 ⮫쪮  ॣ   ࠭ GROUP BY.
 ࠢ ᯮᮡ ᤥ 㯮 ( 뢮  
뢠  㭪 6.8 ):

             SELECT snum, MAX (amt)
                FROM Orders
                WHEREodate = 10/03/1990
                GROUP BY snum;


           ===============  SQL Execution Log ==============
          |                                                 |
          | SELECT snum, odate, MAX (amt)                   |
          | FROM  Orders                                    |
          | GROUP BY snum, odate;                           |
          | =============================================== |
          |   snum                                          |
          |  ------     --------                            |
          |   1001        767.19                            |
          |   1002       5160.45                            |
          |   1014       1900.10                            |
          |   1007       1098.16                            |
          |                                                 |
            ================================================

㭮 6.8:  ᨬ쭮 祭 㬬 ਮ⥭   
                   த  3 



      72           SQL         
______________________________________________________________________
           . 6

᪮  odate ,     ࠭ , 祭 
   祬   㣨 ਬ.
뢮  ⭮  - ⠪   - 
"  - ᠬ 訥 浪  3 ."    7,  
  ⠢ ⥪   뢮.
    ਫ ࠭, HAVING  ᯮ짮 ⮫쪮 㬥
   祭  㯯 뢮. ࠪ᪨, 뫪
 ॣ 㭪樨 -  騥,    ࠭  
GROUP BY ⠪ ⨬. ਬ,  ⨬ 㢨 訥
浪  Serres  Rifkin:

              SELECT snum, MAX (amt)
                 FROM Orders
                 GROUP BY snum
                 HAVING snum B (1002,1007);

뢮  ⮣   뢠  㭪 6.9.

              ===============  SQL Execution Log ==============
          |                                                 |
          | SELECT snum, MAX (amt)                          |
          | FROM  Orders                                    |
          | GROUP BY snum                                   |
          | HAVING snum IN ( 1002, 1007 );                  |
          | =============================================== |
          |   snum                                          |
          |  ------     --------                            |
          |   1002       5160.45                            |
          |   1007       1098.16                            |
          |                                                 |
            ================================================

㭮 6. 9: ᯮ짮 HAVING  GROUP BY ﬨ


   

 ண 樨 ANSI SQL,    ᯮ짮 ॣ
ॣ.  ।    ,    



                                    C  
                                  73
______________________________________________________________________


 㬬 ਮ⥭. ᫨  ஡ ᤥ ,

              SELECT odate, MAX ( SUM (amt) )
                 FROM Orders
                 GROUP BY odate;

   㤥 ⭮ ⪫. (  ॠ樨 
।뢠 ⮣ ࠭祭, ஥  룮, ⮬
  ॣ   祭 ,  ᫨  
᪮쪮 ஡.)   㯮⮩ , ਬ,
SUM   ਬ   㯯  odate,  MAX  
ᥬ 㯯, ந騬 筮 祭   㯯.
 । GROUP BY ࠧ㬥   
 ப 뢮   㯯  odate.


===============     ================


  ᯮ  ᪮쪮 -㣮. ᮡ
,    ࠧ 祭, 祭 魠.
 砥    易⥫쭮  ᫥  ।
ଠ樥 ᫨   㫨஢  ⠪ ⮡  
.  㤥   - १,   ६ 
 ⠡ 饣  । 祭 㤥  ⮫쪮 ஥ 
६ ᫥  䨪樨.      ,  
ॣ 㭪樨   ᭨ ॡ  
᫥ ଠ樨 ⠪ ਬ  .
     ਬ  ॣ  㯯 祭 ।
। GROUP BY.  㯯  祭   楫, 
 ﭭ 室  㣨 㯯   
祭   楫.    ६, ।  ᯮ
⮡ ।  ப ॣ⭮ 㭪樨 ਬ.
  ꥤ ,  ᮡ  , ந
ॣ ᭮  ᨫ쭮 । ⢠ 祭 
. ⥬   । 㣮 ᫮  ᪫祭
। १⮢ 㯯  । HAVING.
    ,   ⠫ ⮪ 讣 ⢠ ⮣ 
 ந 祭,   ,   7, 
      祭ﬨ   ந.



    74          SQL            
______________________________________________________________________
        . 6   

**************   SQL **************


1.    ⠫   㬬 ਮ⥭  
   3 .

2.    ⠫  ᫮ ࠧ -NULL
   祭  city  ⠡ 稪.

3.    ࠫ   㬬 
    稪.

4.     롨ࠫ 稪  䠢⭮ 
   浪,   稭  㪢 G.

5.    ࠫ   業   த.

6.    ⠫  ᫮ 稪 ॣ
     ᢮ 浪. (᫨ த   
   浪   ,   뢠 ⮫쪮  ࠧ.)


( . ਫ A  ⢥⮢. )






                                                                                    7




  




     76            SQL        
______________________________________________________________________
           . 7

    
 ࠡ  뢮  ந .
 㧭  ⠢ ⥪  ⠭  ࠭ ,
 ᯮ짮 ࠭   ⥬᪨ ࠦ, 
१ ⥬ ⠭ 뢮,   ᤥ ⮡ 
祭 뢮  । 浪.  ᫥ ᮡ-
 祭, ⮡ 㯮冷稢  뢮   ⮫栬, 
 祭 祭 ⮣ ⮫,   .


===========      ============

設⢮ ᭮  SQL   ।⠢ ᯥ樠
।⢠ 騥  ᮢ襭⢮ 뢮  ᮢ.
筮,  ௥ ⥫   ணࠬ  
ணࠬ,   㦤   室   , , 
  ᮡ⥩ ᮧ  ⠭ SQL    
   祬  뢮 祭   ॣ .

 
   

   ।    믮  ᫮ ᫥
 ⮡ ⥬      ᮮ⢥ 訬
ॡ. SQL    ᪠ ࠦ 
⠭ । ࠭ .  ࠦ   
   । SELECT,      ᥡ   
 ࠭ . ਬ,   ,  ।⠢ 
ᨮ 襣 த  業⭮ ⭮襭    -
 ᫠.  筮:

        SELECT snum, sname, city, comm * 100
            FROM Salespeople;

뢮  ⮣  뢠  㭪 7.1.

 
᫥ ⮫ ।饣 ਬ 祭( ..  -
), ⮬   - ⮫ 뢮. ⮫ 뢮 -  ⮫ -
 ᮧ ᮬ ᯮᮡ,  祬  祭   ⠡-
.  ᮧ  直 ࠧ,   ᯮ ॣ 㭪樨



                              77
______________________________________________________________________


                ===============  SQL Execution Log ============
          |                                               |
          | SELECT snum, sname, city, comm * 100          |
          | FROM  Salespeople;                            |
          | ==============================================|
          |   snum      sname       city                  |
          | ------    ---------  -----------   ---------  |
          |   1001      Peel       London      12.000000  |
          |   1002      Serres     San Jose    13.000000  |
          |   1004      Motika     London      11.000000  |
          |   1007      Rifkin     Barcelona   15.000000  |
          |   1003      Axelrod    New York    10.000000  |
          |                                               |
           ===============================================

㭮 7.1: 饭 ࠦ  襬 

, ⠭,  ࠦ  । SELECT .
   ⮫ -   ਡ⮢ ⠡, ⮫  室 
  ⠡    . 㣨 ᫮ 祭, ⮫-
 뢮  ࠡ뢠 ⠪   ⮫ 祭  ⠡-
,    .


     
 'A',  祣   ᠬ  ᥡ, -  ⠭⮩, 
⠪ ਬ  ᫮ 1.
  ⠢ ⠭  । SELECT ,  
 ⥪.  ᨬ ⠭,  ⫨稥  ᫮ ⠭,
  ᯮ짮  ࠦ.    ࠦ 1 + 2
 襬 । SELECT,     ᯮ짮 ࠦ
⨯ 'A' + 'B';  ਥ ⮫쪮 ᫨      'A'  'B' 
 㪢,   ६   ᨬ.
     ,  ⠢ ⥪  뢮  ᮢ 祭 
㤮 㪠.
     ᮢ襭⢮ ।騩 ਬ ।⠢ ᨮ-
  業   業 (%).     
 뢮 ⠪   ᨬ  ਨ,  ਬ  ᫥-



      78             SQL          
______________________________________________________________________
            . 7

饬 ਬ ( 뢮 뢠  㭪 7.2 )

            SELECT snum, sname, city, ' % ', comm * 100
               FROM Salespeople;


           ===============  SQL Execution Log ============
          |                                               |
          | SELECT snum, sname, city, '%' comm * 100      |
          | FROM  Salespeople;                            |
          | ==============================================|
          |   snum   sname      city                      |
          | ------  -------- -----------  ----  --------- |
          |   1001   Peel      London       %   12.000000 |
          |   1002   Serres    San Jose     %   13.000000 |
          |   1004   Motika    London       %   11.000000 |
          |   1007   Rifkin    Barcelona    %   15.000000 |
          |   1003   Axelrod   New York     %   10.000000 |
          |                                               |
           ===============================================

㭮 7.2: ⠢ ᨬ   뢮

     ஡ । 業⮬ ⠢  
ப.   ᠬ ᮡ  ᯮ짮 ⮡ ન-
 뢮   ⠢塞묨 ﬨ.   , 
   ᠬ ਩ 㤥 ⠭   ப 뢮, 
    ࠧ  ᥩ ⠡. ।    
뢮     㪠뢠 ᫮ 浪 砥  -
  .   ஬ન஢  뢮 ( . 㭮 7.3 ) 
ନ஢  ᫥騬 ࠧ:

           SELECT ' For ', odate, ', there are ',
              COUNT ( DISTINCT onum ), 'orders.'
              FROM Orders
              GROUP BY odate;

ࠬ᪮ ४⭮ 뢮,  5 , 
  ᮧ ,   ᫮ 祬 .
(  㤥  ᯮ짮    UNION, 



                              79
______________________________________________________________________


           ===============  SQL Execution Log ==============
          |                                                 |
          | SELECT 'For', odate, ', ' there are ' ,         |
          | COUNT (DISTINCT onum), ' orders '               |
          | FROM Orders                                     |
          | GROUP BY odate;                                 |
          | =============================================== |
          |           odate                                 |
          | ------  ----------   ---------  ------  ------- |
          |   For   10/03/1990 , there are       5  orders. |
          |   For   10/04/1990 , there are       2  orders. |
          |   For   10/05/1990 , there are       1  orders. |
          |   For   10/06/1990 , there are       2  orders. |
          |                                                 |
            ================================================

㭮 7.3:  ⥪, 祭 ,  ॣ⮢

 㤥 뢠   14. )     ,  
 ਩   ப ⠡   祭 
,   ࠭祭.  魥  , ந 
 ਩  ᥣ 뢮  楫,  ந ᢮ ᮡ-
⢥ ਨ   ப.
   ணࠬ ᯮ騥 SQL  ᯥ稢 ᯥ樠-
 ।⢠ ⨯  ⮢( ਬ Report Writer),  
ࠧࠡ⠭ ⮡ ଠ஢  ᮢ襭⢮ 뢮.  
SQL  ⠪ ᯫ஢  ⮣ 몠    
. SQL ᠬ  ᥡ ᥭ  ० ᥣ    -
묨. 뢮,  ,  ଠ,  ணࠬ ᯮ 
SQL   ᯮ짮  ଠ      
ਢ⥫ . , ,   ᠬ SQL.


=======       ========

  ન, ⠡ -  㯮冷祭  , 
  室  ,  易⥫쭮   - -
 ᫥⥫쭮. SQL ᯮ  ORDER BY ⮡ 
  㯮冷稢  뢮.   㯮冷稢 뢮



      80             SQL                
______________________________________________________________________
            . 7

 ᮣ᭮ 祭  ⮬   ⢥ ࠭ 
⮫殢. ᫥ ⮫ 㯮冷稢   㣮, 
⠪   GROUP BY,    । ⠭ ( ASC )  
뢠 ( DESC )   ⮫.  㬮砭 ⠭ - -
⠭.    ᬮਬ  ⠡ 浪 ਢ  
冷    稪 (    祭  
cnum ⮫):

               SELECT *
                  FROM Orders
                  ORDER BY cnum DESC;

뢮  뢠  㭪 7.4.

               ===============  SQL Execution Log ==============
          |                                                 |
          | SELECT *                                        |
          | FROM  Orders                                    |
          | ORDER BY cnum DESC;                             |
          | =============================================== |
          |   onum       amt      odate      cnum     snum  |
          |  ------   --------  ----------  -----    -----  |
          |   3001       18.69  10/03/1990   2008     1007  |
          |   3006     1098.16  10/03/1990   2008     1007  |
          |   3002     1900.10  10/03/1990   2007     1004  |
          |   3008     4723.00  10/05/1990   2006     1001  |
          |   3011     9891.88  10/06/1990   2006     1001  |
          |   3007       75.75  10/04/1990   2004     1002  |
          |   3010     1309.95  10/06/1990   2004     1002  |
          |   3005     5160.45  10/03/1990   2003     1002  |
          |   3009     1713.23  10/04/1990   2002     1003  |
          |   3003      767.19  10/03/1990   2001     1001  |
          |                                                 |
            ================================================

㭮 7. 4: 冷祭 뢮   뢠 

   
 

  ⠪ 㯮冷稢 ⠡   㣮 ⮫,
ਬ    amt,  㯮冷祭  cnum.
( 뢮   㭪 7.5 ):

            SELECT *
               FROM Orders
               ORDER BY cnum DESC, amt DESC;



                           81
______________________________________________________________________


             ===============  SQL Execution Log ==============
          |                                                 |
          | SELECT *                                        |
          | FROM  Orders                                    |
          | ORDER BY cnum DESC, amt DESC;                   |
          | =============================================== |
          |   onum       amt      odate      cnum     snum  |
          |  ------   --------  ----------  -----    -----  |
          |   3006     1098.16  10/03/1990   2008     1007  |
          |   3001       18.69  10/03/1990   2008     1007  |
          |   3002     1900.10  10/03/1990   2007     1004  |
          |   3011     9891.88  10/06/1990   2006     1001  |
          |   3008     4723.00  10/05/1990   2006     1001  |
          |   3010     1309.95  10/06/1990   2004     1002  |
          |   3007       75.75  10/04/1990   2004     1002  |
          |   3005     5160.45  10/03/1990   2003     1002  |
          |   3009     1713.23  10/04/1990   2002     1003  |
          |   3003      767.19  10/03/1990   2001     1001  |
          |                                                 |
            ================================================


㭮 7.5: 冷祭 뢮   ᫥ 

     ᯮ짮 ORDER BY ⠪  ᯮᮡ ࠧ  
᫮ ⮫殢.   ,   , ⮫ -
 㯮冷稢   㪠  롮 SELECT.
 - ॡ ANSI   設⢥,   ᥣ, ।ᠭ 
⥬.  , ਬ, 㤥 饭:

              SELECT cname, city
                 FROM Customers
                 GROUP BY cnum;

   cnum  뫮 ࠭ , GROUP BY  c  
 ⮡ ᯮ짮  㯮冷祭 뢮.  ᫨  ⥬
 ,  㯮冷祭  㤥 ⥭  뢮, ⠪  
祭 ( । SELECT)  ⮫殢, ᯮ㥬  ।-
 ORDER BY,  ਭ樯 ⥫쭮.


  

ORDER BY  ஬ ⮣, ᯮ짮  GROUP BY   㯮冷-
 㯯. ᫨  ⠪,  ORDER BY ᥣ 室 ᫥. 
 - ਬ  ᫥    । ORDER BY.
। 㯯஢ 뢮, 冷 㯯  ந;



       82          SQL           
______________________________________________________________________
            CH  7

 , ⥯, ⠢ 㯯 ࠧ  ᫥⥫쭮:

                  SELECT snum, odate, MAX (amt)
                     FROM Orders
                     GROUP BY snum, odate
                     GROUP BY snum;

뢮  뢠  㭪 7.6.
 
                    ===============  SQL Execution Log ==============
              |                                                 |
              | SELECT snum, odate, MAX (amt)                   |
              | FROM  Orders                                    |
              | GROUP BY snum, odate                            |
              | ORDER BY snum ;                                 |
              | =============================================== |
              |    snum       odate        amt                  |
              |   -----     ----------  --------                |
              |    1001     10/06/1990    767.19                |
              |    1001     10/05/1990   4723.00                |
              |    1001     10/05/1990   9891.88                |
              |    1002     10/06/1990   5160.45                |
              |    1002     10/04/1990     75.75                |
              |    1002     10/03/1990   1309.95                |
              |    1003     10/04/1990   1713.23                |
              |    1004     10/03/1990   1900.10                |
              |    1007     10/03/1990   1098.16                |
              |                                                 |
                ================================================

㭮 7. 6: 冷祭   㯯

    㪠뢠  ⠭  뢠 浪,
⠭ ᯮ  㬮砭.


    

  ⮫,   ᯮ짮  浪   
㪠  ᯮ㥬  㯮冷祭 뢮.    
뫠   冷 ⮫殢  ⠡,    冷  뢮.
㣨 ᫮,  㯮⮥  । SELECT , 
ORDER BY -   1, ᨬ  ⮣   浪  ⮨ 
⠡. ਬ,   ᯮ짮 ᫥  ⮡
㢨 ।  ⠡ த殢, 㯮冷祭묨



                               83
______________________________________________________________________


 浪 뢠  襬 祭 ᨮ ( 뢮 
뢠 㭪 7.7 ):

              SELECT sname, comm
                 FROM Salespeople
                 GROUP BY 2 DESC;


                      ===============  SQL Execution Log ============
              |                                               |
              | (SELECT sname, comm                           |
              | FROM Salespeople                              |
              | ORDER BY 2 DESC;                              |
              | ============================================= |
              |    sname       comm                           |
              |   --------   --------                         |
              |   Peel           0.17                         |
              |   Serres         0.13                         |
              |   Rifkin         0.15                         |
              |                                               |
               ===============================================


 㭮 7. 7:  冷祭 ᯮ饥 

  ᭮ 楫 ⮩  ORDER BY -   -
 ᯮ짮 GROUP BY  ⮫栬 뢮 ⠪    ⮫-
栬 ⠡. ⮫ ந ॣ⭮ 㭪樥, ⠭, 
 ࠦ  । SELECT , ᮫⭮ਣ  
ᯮ짮  GROUP BY, ᫨  뫠     . 
ਬ,  ⠥ 浪    த殢,  
뢥 १  뢠饬 浪,    㭪 7.8:

            SELECT snum, COUNT ( DISTINCT onum )
               FROM Orders
               GROUP BY snum
               ORDER BY 2 DESC;



     84             SQL           
______________________________________________________________________
          . 7

                      ===============  SQL Execution Log ==============
              |                                                 |
              | SELECT snum, odate, MAX (amt)                   |
              | FROM Orders                                     |
              | GROUP BY snum                                   |
              | ORDER BY 2 DESC;                                |
              | =============================================== |
              |    snum                                         |
              |   -----     ----------                          |
              |    1001             3                           |
              |    1002             3                           |
              |    1007             2                           |
              |    1003             1                           |
              |    1004             1                           |
              |                                                 |
                ================================================

㭮 7.8: 冷祭   ⮫ 뢮

    ⮬ 砥,   ᯮ짮  ⮫, ⠪  ⮫
뢮   ;     ᯮ짮 ᠬ ॣ 
㭪. ண   ࠢ ANSI SQL, ᫥饥  㤥 ࠡ-
,   ⥬  ७ॣ ⨬ ॡ:

        SELECT snum, COUNT ( DISTINCT onum )
           FROM Orders
           GROUP BY snum
           GROUP BY COUNT ( DISTINCT onum ) DESC;

  㤥 ⪫ 設⢮ ⥬!


    NULL

᫨   祭 (NULL)   ஥  ᯮ 
㯮冷稢 襣 뢮,    ᫥  ।⢮-
  㣮 祭  .  -   ANSI
⠢  㠫 ணࠬ.  ணࠬ ᯮ  
  .



                                 85
______________________________________________________________________



================   =================

 ⮩ ,  稫  ⠢    ,
祬  뢮 祭   ꥤ 㭪樮 
 ⠡.   ᯮ짮   ࠦ: ਬ, 
  㬭 ᫮   10   㬭   
㣮 ᫮ . ஬ ⮣,    ⠭, 
  ᨬ,   뢮,     ⥪
।⢥       뢮   묨 
⠡.
          뢮 ࠧ-
묨 ᯮᮡ.
   ⠪ 稫  㯮冷稢  뢮.   ᫨ ⠡
ᠬ  ᥡ ⠥ 㯮冷祭, । ORDER BY 
  ࠢ 浪 뢮 ப  .
뢮     浪 ⠭  뢠, 
⮫   묨   㣮.
  ⨥ 뢮 ⮫殢 﫮  ⮩ .  ⥯ -
  뢮 ⮫  ᯮ짮 ⮡ 㯮冷稢
뢮 ,   ⮫ -  ,  ᫥⥫쭮 
।  浪 ஬  । ORDER BY.
  ,   㢨     뢮  ᭮-
  筮 ⠡, ⠫ ६ ⮡ ३  -
 襭   㧭  ᤥ   ᫠ 
⠡   , । 裡      筮 
.  㤥 ⥬  8.



    86            SQL           
______________________________________________________________________
         . 7  

**************   SQL **************

1. ।   த  12% ᨮ.
      ⠡ 浪    뢥 
   浪,  த,  㬬 ᨮ த  ⮣
   浪.

2.    ⠡ 稪     
   業   த. 뢮    ⠪ ଥ:

       For the city (city), the highest rating is: (rating).

3.    뢮  ᯨ᮪ 稪  室饬
   浪. 뢮  業( rating )  ᮯ஢  
   稪   ஬.

4.     뢮 騥 浪    
   頫 १  室饬 浪.

( . ਫ A  ⢥⮢. )





                                                                                  8




         

                    




     88          SQL            
______________________________________________________________________
          . 8

 ,     
᭮뢠  筮 ⠡.
 ⮩ ,  㧭  ᤥ   ᫠ ⠡  
  .  - १砩 魮 ।⢮ ⮬ 
   ⮫쪮 ꥤ 뢮  ᫥ ⠡,   
। 裡  .   ࠧ ଠ -
  ᯮ짮  裡,  ⠪ ⠭  ᯮ짮-
  ⮡ 㤮⢮  ᯥ樠 ॡ.


=============    ============

      ᮡ⥩ ᮢ SQL -   ᯮᮡ-
 । 裡  ᫥묨 ⠡栬  뢮 
ଠ    ନ  痢,    . 
  樨 뢠 - ꥤ, ஥   
  権  ५樮  .  ⠭ 
 1,   ५樮 室  裡   ᮧ-
  ﬨ   ⠡.
ᯮ 쥤,  ।⢥ 뢠 ଠ 
 ஬ ⠡,  ⠪ ࠧ ᯮᮡ ᮧ 裡 
 ࠢ묨 ࠣ⠬ .
 쥤, ⠡ ।⠢ ᯨ᪮  । FROM
, ⤥ 묨. ।   뫠  -
 ⮫  易 ⠡ , ᫥⥫쭮,  ᯮ짮-
  裡  . 筮, । ࠢ 祭  
⮫ ࠧ ⠡ ⮡ ।, 㤮⢮  WHERE 
⠭ ᫮.


   

  ⮫ ⠡ 䠪᪨ ⮨   ⠡,
ᮯ஢ 窮  ⥬  ⮫.  ᪮쪮
ਬ஢  :

                     Salespeople.snum

                  Salespeople.city

                  Orders.odate



             89
______________________________________________________________________


 ⮣,   ᪠  ⠡ ⮬   訢
⮫쪮  ⠡ ६,  SQL 筮 ⥫㠫
⮡ ᢮ ᮮ⢥騩 䨪,  ⠡.  
   ᫥ ⠡,    ᪠ 
⠡, ᫨   ⮫  ࠧ .    ᥣ
⠪ 뢠. ਬ,    ⨯ ⠡  ⮫栬
뢠묨 city.
  ᫨   易  ⮫( ⪮६ ),  㤥 -
 㪠    Salespeople.city  Customers.city, ⮡ SQL 
  ࠧ.


 

।    ⠢  ᮮ⢥⢨ 襬 த 
 稪  த  ஬  , ⮬  㢨  
樨 த殢  稪  ⮣ த.  㤥  
  த  ᪠  ⠡ 稪  稪 
⮣  ᠬ த.    ᤥ ,  ᫥ -
 ( 뢮  뢠  㭪 8.1 ):

          SELECT Customers.cname, Salespeople.sname,
           Salespeople.city
             FROM Salespeople, Customers
             WHERE Salespeople.city = Customers.city;


                      ===============  SQL Execution Log ============
              | SELECT Customers.cname, Salespeople.sname,    |
              | Salespeople.city                              |
              | FROM  Salespeople, Customers                  |
              | WHERE Salespeople.city = Customers.city       |
              | ============================================= |
              |   cname       cname            city           |
              |  -------     --------          ----           |
              |  Hoffman     Peel              London         |
              |  Hoffman     Peel              London         |
              |  Liu         Serres            San Jose       |
              |  Cisneros    Serres            San Jose       |
              |  Hoffman     Motika            London         |
              |  Clemens     Motika            London         |
                =============================================

㭮 8.1: ꥤ  ⠡



      90          SQL             
______________________________________________________________________
          . 8


       city    ⠡ த殢  ⠡
稪,  ⠡  ᯮ짮  䨪. 
 室 ⮫쪮          
,   砥      ⠡  쥤-
  襣   ⨢稢. ᬮ  , 
 㤥,   ਬ , ᯮ짮  ⠡ ⮫쪮 
 室, ⠪  㤥 ᭮,   室   .
    SQL  ᭮   쥤 - ⠪  ᫥
  ப     ⠡, 
஢  樨   ।⠬.  ।饬 ਬ,
ॡ ப த Peel  ⠡ த殢  ꥤ
   ப ⠡ 짮⥫,     
६.
᫨  ந 祭 ஥  । , 
 ᫨  city  ப ⠡ 稪 ࠢ London,   Peel -  
 訢 祭 ஥  롥  뢮.   
ᠬ 㤥 ⥬ 믮   த  ⠡ த殢
(     뫮  稪   த).


    

 ᮡ  ᯮ   ᯫ樨 痢
஥   .  ।饬 ਬ,  ⠭ 
   ⠡栬  쥤.  ४᭮.
  ⠡, 㦥 뫨 ᮥ १ snum .  
뢠 ﭨ ࠢ筮 楫⭮,   㦥 ਫ
  1. ᯮ 쥤     ନ 
⮩ 裡. ਬ, ⮡    稪 ᮮ⢥-
 த栬   㦨,  㤥 ᯮ짮 
⠪ :

             SELECT Customers.cname, Salespeople.sname
                FROM Customers, Salespeople
                WHERE Salespeople.snum = Customers.snum;

뢮 ⮣   뢠  㭪 8.2.



             91
______________________________________________________________________


 - ਬ 쥤,  ஬ ⮫ ᯮ  ।-
 । ,   ⮬ 砥, snum ⮫   ⠡, 
㤠  뢮.   ४᭮.
뢮  뢠  稪  த殬 㦨; -
祭  snum  ⠭  - .  ᫨ 
    뢮,     㤮⮢  뢮 ⥭
ᠬ  ᥡ  ᯥ ਩    뢮.


                    ===============  SQL Execution Log ============
              | SELECT Customers.cname, Salespeople.sname,    |
              | FROM  Salespeople, Customers                  |
              | WHERE Salespeople.snum = Customers.snum       |
              | ============================================= |
              |   cname       sname                           |
              |  -------     --------                         |
              |  Hoffman     Peel                             |
              |  Giovanni    Axelrod                          |
              |  Liu         Serres                           |
              |  Grass       Serres                           |
              |  Clemens     Peel                             |
              |  Cisneros    Rifkin                           |
              |  Pereira     Motika                           |
                =============================================

㭮 8.2:  ꥤ த殢   稪


    
     

쥤  ᯮ । ᭮  ࠢ⢠
뢠 - ꥤﬨ  ࠢ.   ਬ  ⮩  
 饣 ६, ⭮ᨫ   ⮩ ⥣ਨ, ⮬   
᫮  । WHERE ஢  ⥬᪨ ࠦ-
 ᯮ  ࠢ ( = ).  ப 'city = 'London'  
'Salespeople.snum = Orders.snum ' - ਬ ⠪ ⨯ ࠢ -
  ।. 
ꥤ  ࠢ -  ⭮  騩  ꥤ, 
   㣨.  , 䠪᪨, ᯮ짮  



      92          SQL          
______________________________________________________________________
           . 8

५樮 ஢  쥤.   ਬ 
㣮  ꥤ ( 뢮 뢠  㭪 8.3 ):

               SELECT sname, cname
                   FROM Salespeople, Customers
                   WHERE sname < cname
                      AND rating < 200;


               ===============  SQL Execution Log ============
              | SELECT sname, cname                           |
              | FROM  Salespeople, Customers                  |
              | WHERE sname < cname                           |
              | AND rating < 200;                             |
              | ============================================= |
              |     sname       cname                         |
              |    --------    -------                        |
              |    Peel        Pereira                        |
              |    Motika      Pereira                        |
              |    Axelrod     Hoffman                        |
              |    Axelrod     Clemens                        |
              |    Axelrod     Pereira                        |
              |                                               |
                =============================================

㭮 8.3: 쥤 ᭮  ࠢ⢥

    뢠 .  ந  樨
 த   稪 ⠪,   । ᫥-
  䠢⭮ 浪,  ᫥  業  祬 200.
筮,   ᮧ ᫮ 痢  ⮩, ,  ⮩ 稭, 
 ⭮ 㤥 ந  騥 ꥤ  ࠢ,  
     㣨 .


   

  ⠪ ᮧ  ꥤ騥   ⠡.
।   ⨬   浪 稪  室
  த  室  த. ⮣ 室 易



                 93
______________________________________________________________________


   ⨯ ⠡ ( 뢮  뢠  㭪 8.4 ):

          SELECT onum, cname, Orders.cnum, Orders.snum
             FROM Salespeople, Customers,Orders
             WHERE Customers.city < > Salespeople.city
                AND Orders.cnum = Customers.cnum
                AND Orders.snum = Salespeople.snum;


            ===============  SQL Execution Log ==============
           |                                                 |
           | SELECT onum, cname, Orders.cnum, Orders.snum    |
           | FROM  Salespeople, Customers, Orders            |
           | WHERE Customers.city < > Salespeople.city       |
           | AND Orders.cnum = Customers.cnum                |
           | AND Orders.snum = Salespeople.snum;             |
           | =============================================== |
           |   onum    cname        cnum     snum            |
           |  ------  -------      -----    -----            |
           |   3001   Cisneros      2008     1007            |
           |   3002   Pereira       2007     1004            |
           |   3006   Cisneros      2008     1007            |
           |   3009   Giovanni      2002     1003            |
           |   3007   Grass         2004     1002            |
           |   3010   Grass         2004     1002            |
             ===============================================

㭮 8. 4: ꥤ  ⠡

   룫廊 ᪮॥  ᭠,   ᫥
 ,  ஢ -  稪  ࠧ饭   த 
 ࠧ饭  த ( ᮢ  snum  ),   -
᫥ 浪 - 믮    稪( ᮢ 
浪  ﬨ cnum  snum  ⠡ 浪 ).




    94           SQL           
______________________________________________________________________
          . 8


===============      ===============


    ࠭稢 ᬮ஬  ⠡   
 ६. ஬ ⮣,    ᫮ ࠢ 
묨 ﬨ  ᫠ ⠡  ᯮ짮 祭 १ 
⮡   ଠ   ⥫ . ᪨,  
⮤ ⮫쪮   ஥ 痢,    ᯮ
 ᮧ   筮 ⠡.  㤥 ࠢ:  ᬮ 
ꥤ ⠡  ᮡ,   祭 㤮 .
  㤥 ⥬  9.



                95
________________________________________________________________

**************   SQL **************

1.     뢥 ᯨ᮪ ஢ 浪
   ᮯ஢  稪  ᮧ  浪.

2.     뤠  த  稪 
    浪 ᫥  浪.

3.     뢮  稪 㦨
   த殬  ᨮ묨  12% . 뢥  稪, 
   த,  ⠢ ᨮ த.

4.    ᫨  㬬 ᨮ த
    浪 稪  業  100.

( . ਫ A  ⢥⮢. )





                                                                                      9




            




      98           SQL          
______________________________________________________________________
           CH 9

  8,      
  ⠡ - .
  筮 ᭮ ,    ᠬ ⮤  ᯮ짮-
 ⮡ ꥤ    筮 ⠡.
 ⮩ ,  㤥 ᫥  .   , -
 ⠡  ᠬ ᮡ,    ,    
祭  ᯮᮡ । ।  痢  
㭪⠬   ⭮ ⠡.


=========      ==========
                       ?

 ꥤ ⠡  ᮡ,   ᤥ  ப 
⠡, ६,  樥   ᮡ  樥  
 㣮 ப ⠡.  ⥬ 業  
 ନ ।, ⠪   쥤 ⠡.  -
   ᮧ ।  痢  ࠧ묨 -
ﬨ  筮 ⠡ -   㦥  ப 
 祭 , ਬ.
     ࠧ 쥤 ⠡  ᮡ,  쥤
    ⮩  ⠡.   ᠬ   , 
 SQL 믮  ⠪,  ᫨   뫮 ᤥ.
㣨 ᫮,  쥤 - ⠪ ,    㣮 쥤-
   ⠡栬,  ᪫祭 ⮣,    砥 
 ⠡ .




⠪   ꥤ ⠡  ᮡ,     
ꥤ ᫥ ⠡,   .
  ꥤ ⠡  ᮡ,  塞  ⮫, 
 䨪ᠬ  ⠡. ⮡ 뫠  ⨬ ⮫-
栬  ,     ࠧ   ⮩
⠡.
    ᤥ    । ६  -
 - .६묨 , ६묨 ५樨  
- ᥢ
 ।   । FROM .  祭 :  
ࠥ  ⠡, ⠢ ஡,  ⥬ ࠥ ᥢ 
 .



                                       99
______________________________________________________________________


 ਬ  室   稪     
 ᠬ ३⨭ ( 뢮  뢠  㭪 9.1 ):

            SELECT first.cname, second.cname, first.rating
               FROM Customers first, Customers second
               WHERE first.rating = second.rating;


            ===============  SQL Execution Log ==============
           |                                                 |
           |    Giovanni     Giovanni                  200   |
           |    Giovanni     Liu                       200   |
           |    Liu          Giovanni                  200   |
           |    Liu          Liu                       200   |
           |    Grass        Grass                     300   |
           |    Grass        Cisneros                  300   |
           |    Clemens      Hoffman                   100   |
           |    Clemens      Clemens                   100   |
           |    Clemens      Pereira                   100   |
           |    Cisneros     Grass                     300   |
           |    Cisneros     Cisneros                  300   |
           |    Pereira      Hoffman                   100   |
           |    Pereira      Clemens                   100   |
           |    Pereira      Pereira                   100   |
           |                                                 |
             ===============================================

㭮 9.1: ꥤ ⠡  ᮡ

(     㭪 9.1,     쭥
ਬ,     㬥   뢮,  ᫥-
⥫쭮 㤥 ᥪ. )

 㯮⮩ , SQL  ᥡ ⠪,  ᫨   ᮥ
 ⠡ 뢠 'ࢠ'  ''.   - 䠪᪨, ⠡ 
稪,  ᥢ ࠧ   ࠡ⠭묨 ᨬ. 
ᥢ   ன 뫨 ⠭  । FROM 
, ࠧ ᫥   ⠡.
   ᥢ  ᯮ짮  ।
SELECT,  ᫨   ।  । FROM.
    - 祭 . SQL 㤥 ᭠砫 ᪠  ⠪ ᥢ 
 ,  㤥 ⪫  ᫨   ।   ।-
 FROM .
   ᥢ  - ⮫쪮   믮 !



     100          SQL         
______________________________________________________________________
           . 9

  稢, ᥢ ᯮ㥬    
  祭.

,     ⠡ 稪, ⮡ ࠡ 
, SQL  ࠡ뢠   筮 ⠪   
㣮 쥤 -   ப   ᥢ  ࠢ-
    ப  㣮 ᥢ.


 

    뢮   祭   -
樨, 祬 ன ࠧ  ⭮ 浪.  ⮬,  
祭   ࠧ   ᥢ,  ன ࠧ( ᨬ-
筮)  ।.
⥫쭮, 祭 A  ᥢ ᭠砫 롨ࠥ  -
樨  祭 B  ஬ ᥢ,  ⥬ 祭 A  ஬
ᥢ 롨ࠥ  樨  祭 B  ࢮ ᥢ.
 襬 ਬ, Hoffman ࠫ   Clemens,  ⥬ Clemens
ࠫ   Hoffman.   ᠬ 砩  Cisneros  Grass,
Liu  Giovanni,  ⠪ . ஬ ⮣  ப 뫠 ࠢ
ᠬ  ᮡ, ⮡ 뢥 ப ⠪  - Liu  Liu.
⮩ ᯮᮡ  ⮣ o  ⮬, ⮡  冷
  祭, ⠪ ⮡     祬 㣮 
।⢮   䠢⭮ 浪.   ।
ᨬ, ⮬   ᠬ 祭  ⭮ 浪 
 ࠭ ᭮, ਬ:

            SELECT tirst.cname, second.cname, first.rating
               FROM Customers first, Customers second
               WHERE first.rating = second.rating
                  AND first.cname < second.cname;

뢮 ⮣   뢠  㭪 9.2.

Hoffman । Periera  䠢⭮ 浪, ⮬ 
㤮⢮  ᫮ ।    뢮. 
  ᠬ    ⭮ 浪 -  Periera
 ᥢ ࢮ ⠡ ࠢ⢠  Hoffman  ன ⠡
ᥢ - ஥ ᫮  砥.
筮 Hoffman  롨ࠥ  稨 ⮣  ३⨭  
 ᠬ ⮬     ।  ᠬ  䠢⭮
浪. ᫨   ⥫  ࠢ ப   


                                      101
______________________________________________________________________


              ===============  SQL Execution Log ==============
             |                                                 |
             | SELECT first.cname, second.cname, first.rating  |
             | FROM  Customers first, Customers second         |
             | WHERE first.rating = second.rating              |
             | AND first.cname < second.cname                  |
             | =============================================== |
             |   cname      cname     rating                   |
             |  -------  ---------   -------                   |
             |  Hoffman    Pereira       100                   |
             |  Giovanni   Liu           200                   |
             |  Clemens    Hoffman       100                   |
             |  Pereira    Pereira       100                   |
             |  Gisneros   Grass         300                   |
              =================================================

㭮 9.2: ࠭ 筮 뢮  쥤  ᮡ.

   ⮬,     ᯮ짮
 < =   <.


 

 ࠧ   ᯮ짮  ᮡ SQL  ஢ન
।  訡.  ᬮ ⠡ 浪,  
   cnum  snum   ﭭ .
   稪   祭    ⮫쪮 
த,  ࠧ  ।  稪  
⠡ 浪,   ᮢ  ⠪  ஬ த.
  㤥 ।  ᮣᮢ  ⮩
:

             SELECT first.onum, tirst.cnum, first.snum,
              second.onum, second.cnum,second.snum
                FROM Orders first, Orders second
                WHERE first.cnum = second.cnum
                  AND first.snum < > second.snum;

   룫廊 ᫮,  ⮩  筮 .
 㤥   ப ⠡ 浪,   



    102          SQL         
______________________________________________________________________
         . 9

 ᥢ,  ஢   樨   ப 
⠡ 浪   ᥢ,   㣮. ᫨ -
 ப 㤮⢮ ।,  롨ࠥ  뢮.  ⮬ 
砥 । 㤥 ᬠਢ  ப,  ப   
cnum=2008   snum=1007,  ⥬ ᬮ  ᫥
ப  ⥬  ᠬ 祭  cnum. ᫨  室  
-    祭 ⫨筮  祭  snum, । 
㤥 ७,  뢥 ࠭   ⥪饩 樨 ப. 
᫨  祭 snum   祭 cnum   ⠡ ᮢ-
,    ந  뢮.


  

 쥤 ⠡  ᮡ -  ࢠ   ⭮ 
 ᥢ 室,   ࠭祭   ᯮ짮 
 ⮫쪮 ⫨   ⠡   ਣ.   
ᯮ짮 ᥢ   ६    ᮧ -
⨢    ⠡  . ਬ, ᫨  
⠡  祭   ᫮ ,    । 
 ᨬ ᥢ, ⨯ a  b,  ᯮ짮  -
  ⠡  । SELECT  ।.   ⠪ 
ᯮ짮  ᮮ⭥ᥭ묨 ᠬ(㦤묨   11).


   

  ᯮ짮  ᫮ ᥢ   ⠡
 ,  ᯮ짮     । 
SELECT *  㤥 ⢮.
।     稫  稪  襬
த.     த ࢮ-
쭮  稪,     ३⨭ 祭. 
 筮    稪  த ,
 ᫥騩   ᯮ ⮡ 㢨  
樨 稪    .
( 뢮 뢠  㭪 9.3 ):

             SELECT a.cnum, b.cnum, c.cnum
                 FROM Customers a, Customers b, Customers c
                 WHERE a.rating = 100
                   AND b.rating = 200
                   AND c.rating = 300;



                                     103
______________________________________________________________________


              ===============  SQL Execution Log ==============
             |                                                 |
             | AND c.rating = 300;                             |
             | =============================================== |
             |   cnum       cnum        cnum                   |
             |  -----      ------     ------                   |
             |   2001       2002        2004                   |
             |   2001       2002        2008                   |
             |   2001       2003        2004                   |
             |   2001       2003        2008                   |
             |   2006       2002        2004                   |
             |   2006       2002        2008                   |
             |   2006       2003        2004                   |
             |   2006       2003        2008                   |
             |   2007       2002        2004                   |
             |   2007       2002        2008                   |
             |   2007       2003        2004                   |
             |   2007       2003        2008                   |
              =================================================

 㭮 9.3   짮⥫  ࠧ묨 祭ﬨ
                  ३⨭



   ,   室  樨 稪 
६ 祭ﬨ 業, ⮬  ⮫ ⮨  稪
 業 100, ன  200,  ᫥  業 300.   
   .  - ஢ 㯯஢  
   믮  GROUP BY  ORDER BY, ᪮  
ࠢ 祭 ⮫쪮   ⮫ 뢮.
     ⠪ ,   ᥣ 易⥫쭮 ᯮ짮
 ᥢ  ⠡  㯮  । FROM
,  । SELECT. , ।  ⠡ ⠭-
 訢묨 ᪫⥫쭮 ⮬    뢠 
। . ਬ, ᫥騩  室  稪
ࠧ饭  த  த Serres ( snum 1002 )   
( 뢮 뢠  㭪 9.4 ):

                    SELECT b.cnum, b.cname
                       FROM Customers a, Customers b
                       WHERE a.snum = 1002
                          AND b.city = a.city;



   104               SQL          
______________________________________________________________________
           . 9



              ===============  SQL Execution Log ============
             |                                               |
             | SELECT b.cnum, b.cname                        |
             | FROM  Customers a, Customers b                |
             | WHERE a.snum = 1002                           |
             | AND b.city = a.city;                          |
             | ==============================================|
             |   cnum     cname                              |
             | ------   ---------                            |
             |   2003     Liu                                |
             |   2008     Cisneros                           |
             |   2004     Grass                              |
               =============================================


㭮 9.4  宦 稪  த ⭮ 
                   Serres.


ᥢ a 㤥  ।   ᪫祭 
  祭 ⮫ snum = 1002.    ࠧ ᥢ
᪠ , ஬ 稪 த Serres.  ᥢ b 㤥 
   ப  ⥬  ᠬ 祭 த   ⥪饥 
祭 த  a;  室 , ப ᥢ b 㤥 ୠ 
 ࠧ  祭 த ।⠢  a.
宦  ப ᥢ b - ⢥ 楫 ᥢ a,
⮨   롨ࠥ  ⮫ .    , 
ᮡ⢥ 稪 Serres 롨  宦   ⮬ 
ᠬ த    ᠬ, ⮬ 롮   ᥢ a 易-
.  , ᥢ 室 ப 稪 Serres, Liu  
Grass. ᥢ b 室  稪 ࠧ饭     
த ( San Jose  Berlin ᮮ⢥⢥ ) , 筮, ᠬ - 
Liu  Grass.

  ⠪ ᮧ 쥤 ஥ 砥  ࠧ ⠡-
  ᥢ 筮 ⠡. 騩  ꥤ
⠡ 짮⥫  ᮡ: ⮡    稪 㦨-
  த殬.    ᠬ ६,   ꥤ 
稪  ⠡楩 த殢   ⮣ த ( 뢮 
 㭪 9.5 ):



                                    105
______________________________________________________________________


        SELECT sname, Salespeople.snum, first.cname
        second.cname
           FROM Customers first, Customers second, Salespeople
           WHERE first.snum = second.snum
              AND Salespeople.snum = first.snum
              AND first.cnum < second.cnum;


              ===============  SQL Execution Log ==================
             |                                                     |
             | SELECT cname, Salespeople.snum, first.cname         |
             | second.cname                                        |
             | FROM Customers first, Customers second, Salespeople |
             | WHERE first.snum  = second.snum                     |
             | AND Salespeople.snum = first.snum                   |
             | AND first.cnum < second.cnum;                       |
             | ====================================================|
             |  cname      snum        cname       cname           |
             |  ------   ------      --------    --------          |
             |  Serres     1002        Liu         Grass           |
             |  Peel       1001        Hoffman     Clemens         |
              =====================================================

㭮 9.5:  ꥤ ⠡  ᮡ   㣮 ⠡楩



================   =================

    ꥤ   ᯮ짮
  ࠭祭 痢  ⠡楩,  ࠧ묨 ⠡栬, 
  .      ꥤ  
ᯮ짮  ᯮᮡ⥩.  ⥯   ନ
浪 ६, ५樮 ६  ।
( ନ 㤥     , ⠪   ।-
    ᥬ ६ ନ ). ஬ ⮣  﫨, 
,   ⢨⥫쭮 ࠡ .



    106             SQL         
______________________________________________________________________
           . 9

 騬 蠣 ᫥ 樨 ᫥ ⠡  -
   ⠡  , 㤥  ᫥ 
ᮢ,    㤥 ந 뢮  㤥 ⥬ -
ࠢ ࠡ⮩ 㣮 .  㣮 魮 ।⢮ SQL,   -
஬  ᪠   10   ⥫쭮  ᫥ .



                                       107
______________________________________________________________________________


**************   SQL **************

1.     뢥   த殢  
     ⮬  த. ᪫ 樨 த殢   ,
    ⠪ 㡫 ப 뢮   浪.

2.    뢥    浪  
   稪,   稪,  ᪫砫 㡫  뢮, 
     ।饬 .

3.    뢥  (cname)  த(city)  
   稪  ⠪  業(rating)   Hoffman.                           
   ᯮ騩  cnum Hoffman    業, ⠪ ⮡   
   ᯮ짮 ᫨  業  .

( . ਫ A  ⢥⮢. )





                                                                               10




                                 

                                      




   110            SQL          
______________________________________________________________________
          .10

   9,    
 ࠢ 㣨 ᠬ.  ⮩ ,  㧭  
 ( 襩  ),    । 㣮
,  ᯮ 뢮 ७   ୮  ୮ 
᫮ ।.  ᬮ ᭨   ஢  
ᯮ짮   ᬮ   ࠡ  
।⢠ SQL , ⠪  DISTINCT,  ⠢묨 㭪ﬨ  
뢮묨 ࠦ.  㧭  ᯮ짮   
। HAVING    ⠢  ࠢ쭮
ᯮ짮 .


========     ?   =========

  SQL   뢠   㣠 㣠.
筮, ७   祭 ஥ ஢ 
। 譥 , ।饣 ୮   . 
ਬ, ।     த: Motika,    
祭   snum,  ⨬   浪  ⠡ 浪. 
  ᯮᮡ ⮡ ᤥ ( 뢮 뢠  㭪 10.1 ):

    SELECT *
       FROM Orders
       WHERE snum =
           ( SELECT snum
                FROM Salespeople
                WHERE sname = 'Motika');

⮡ 業 譨( ᭮ ) , SQL ᭠砫  業
७  (   )  । WHERE. 
  ⠪      騩 ⢥ 楫
- ᪠ १ ⠡ த殢  ப,   sname ࠢ 
祭 Motika,  ⥬  祭  snum  ப.

⢥  ப ⢥ 㤥 snum = 1004.  
SQL,   뤠  祭,  頥   । ᭮ 
  ᠬ , ⠪ ⮡ । ⠫ 

       WHERE snum = 1004



                   111
______________________________________________________________________


               ===============  SQL Execution Log ==============
              |                                                 |
              | SELECT *                                        |
              | FROM  Orders                                    |
              | WHERE snum =                                    |
              | (SELECT snum                                    |
              | FROM Salespeople                                |
              | WHERE sname = 'Motika');                        |
              |=================================================|
              |   onum       amt      odate      cnum     snum  |
              |  -----     -------  ----------  -----    -----  |
              |   3002     1900.10  10/03/1990   2007     1004  |
              |                                                 |
               =================================================


㭮 10.1:   ᯮ짮 

᭮  ⥬ 믮  筮  㯮묨
१⠬. 筮 ,      ⮫쪮 
⮫,  ⨯  ⮣ ⮫  ᮢ  ⥬ 祭  
  㤥 ࠢ  ।. ,   , 
࠭    祭    (  ⮬ 
砥, snum ),   易⥫쭮.

筮, ᫨   㦥   த Motika,   
 

             WHERE snum = 1004

 믮   ᮬ  楫,   뫮   ⠪ 㭨-
ᠫ쭮.  㤥 த ࠡ  ᫨  Motika ,
,   ⮣    ,   ᯮ-
   祣 㣮.


,    

॥ ᥣ 뫮  㤮, ⮡    ।饬
ਬ 頫   ⮫쪮  祭.



    112             SQL          
______________________________________________________________________
          . 10

   ࠭  snum " WHERE city = "London" 
"WHERE sname = 'Motika",   ᪮쪮 ࠧ
祭.   ᤥ ࠢ  । ᭮  
  業 ୮  ୮,   뤠 
訡.

 ᯮ짮 ᮢ  । ᭮  ५樮
 ( ࠢ  ࠢ⢠,  ᭥   4 ),
  㡥  ᯮ짮   㤥 뤠
  ⮫쪮  ப 뢮. ᫨  ᯮ 
  뢮  祭 ,   ௨
㤠;  ᭮   뢥  祭.
   ந  뢮 ( 㫥 뢮)
㦤 ᬠਢ ।      ,
  . ,  ।    ᠬ
䥪   :  ப  롨 ᭮
ᮬ ( ᬮ  5  ஡ ଠ樨  ⭮
। ).

  ⥣, ⮡  -  ᫥饬:

                 SELECT *
                    FROM Orders
                    WHERE snum =
                      ( SELECT snum
                           FROM Salespeople
                           WHERE city = Barcelona );

᪮   ⮫쪮  த  Barcelona - Rifkin, 
 㤥 롨 筮 祭 snum  ᫥⥫쭮 㤥
ਭ.   - ⮫쪮   砥. 設⢮ SQL   -
 ᫥ 짮⥫,  ᫨ 㣮 짮⥫  -
 த  Barcelona  ⠡,  롥  祭,   
 ௨ 㤠.


DISTINCT  

 ,   , ᯮ짮 DISTINCT ⮡ 㤨
 ஢ 筮 祭. ।   ⨬
  浪 ।⮢   த殢  㦨 
Hoffman ( cnum = 2001 ).



                 113
______________________________________________________________________


   ᯮᮡ ⮡ ᤥ  ( 뢮 뢠 
㭪 10.2 ):

            SELECT *
               FROM Orders
               WHERE snum =
                  ( SELECT DISTINCT snum
                       FROM Orders
                       WHERE cnum = 2001 );


               ===============  SQL Execution Log ==============
              |                                                 |
              | SELECT *                                        |
              | FROM  Orders                                    |
              | WHERE snum =                                    |
              | (SELECT DISTINCT snum                           |
              | FROM Orders                                     |
              | Where cnum = 2001);                             |
              | =============================================== |
              |   onum       amt      odate      cnum     snum  |
              |  -----   ---------  ---------   ------  ------- |
              |   3003      767.19  10/03/1990   2001     1001  |
              |   3008     4723.00  10/05/1990   2006     1001  |
              |   3011     9891.88  10/06/1990   2006     1001  |
                ================================================


㭮 10.2: ᯮ짮 DISTINCT ⮡ 㤨 祭 
                    祭  

 ⠭  祭  snum ᮢ  Hoffman - 1001,  
⥬ ᭮  뤥  浪  ⨬ 祭 snum  ⠡-
 浪(  ࠧ, ⭮   Hoffman  ).   
 稪 祭    ⮫쪮 ⮬ த,    
 ப  ⠡ 浪   祭 cnum   
⠪  祭 snum.  ⠪  ⠬    ᫮ ⠪ 
ப,    뢥  (    ) 祭 snum 
   cnum.   㬥 DISTINCT ।頥 .
᫨      祭,  㤥 㪠뢠  
訡    -      ⮬.



   114             SQL          
______________________________________________________________________
          . 10

ୠ⨢ 室   ⮡ 뫠  ⠡ 稪
   ⠡ 浪  .    cnum -  ࢨ-
  ⠡ 稪,  롨騩   ந 
⮫쪮  祭.  樮쭮 ⮫쪮 ᫨   짮⥫ 
   ⠡ 浪    ⠡ 稪.  ⮬ 砥, 
  ᯮ짮 襭 ஥   . ( SQL  
堭  । -   ਢ ⮡  - 
 । ⠡.  㤥    22.)
 ,  ⮤ ᯮ㥬  ।饬 ਬ 
ਬ ⮫쪮   ,   ࠧ   ⠡  
ᥣ ᮢ,   襬 砥.     ⨯筮  -
樮  ,   ᪫祭  ࠢ.


    

     । 騥 ,
ᯮ ࠦ

           < ᪠ୠ ଠ > <  > <  >,
, 
           <  > <  > < ᪠୮ ࠦ >
,
           <  > <  > <  >.

㣨 ᫮,    뢠 ।騩 ਬ ⠪:

                   SELECT *
                      FROM Orders
                      WHERE ( SELECT DISTINCT snum
                           FROM Orders
                           WHERE cnum = 2001 )
                      = snum;

 ண ANSI ॠ樨,  ਢ  㤠,   ணࠬ 
   ⠪ . ANSI ⠪ ।࠭    
 祭  ࠢ,  㦭 뢥   .


    

 ⨯ 㭪権,  ⮬᪨  ந 筮
祭   ᫠ ப, 筮 , - ॣ⭠ 㭪.



                  115
______________________________________________________________________


  ᯮ騩  㭪 ॣ  ।
GROUP BY 㤥 롨 筮 祭  ᯮ짮  ᭮ 
।.  ਬ,   㢨  浪 騥 㬬 ਮ-
⥭  ।  4-  ( 뢮   㭮 10.3 ):

             SELECT *
                 FROM Orders
                 WHERE amt >
                    ( SELECT AVG (amt)
                         FROM Orders
                         WHERE odate = 10/04/1990 );

               ===============  SQL Execution Log ==============
              |                                                 |
              | SELECT *                                        |
              | FROM  Orders                                    |
              | WHERE amt >                                     |
              | (SELECT AVG (amt)                               |
              | FROM Orders                                     |
              | WHERE odate = 01/04/1990 );                     |
              | =============================================== |
              |   onum       amt      odate      cnum     snum  |
              |  -----    --------  ----------  -----    -----  |
              |   3002     1900.10  10/03/1990   2007     1004  |
              |   3005     2345.45  10/03/1990   2003     1002  |
              |   3006     1098.19  10/03/1990   2008     1007  |
              |   3009     1713.23  10/04/1990   2002     1003  |
              |   3008     4723.00  10/05/1990   2006     1001  |
              |   3010     1309.95  10/06/1990   2004     1002  |
              |   3011     9891.88  10/06/1990   2006     1001  |
                ================================================

㭮 10.3: 롮  㬬  祭  ।  10/04/1990

। 㬬 ਮ⥭  4  - 1788.98 ( 1713.23 + 75.75) 
 ,   楫 ࠢ = 894.49.  ப  祭  
 amt  ⮣ -  ࠭묨.

   㯯஢ ॣ 㭪樨,  
ॣ묨 㭪ﬨ ।묨  ନ । GROUP BY,
 ந ᫥ 祭. , ᫥⥫쭮,  -
⥫   ⠪ ࠪ.  ᫨ GROUP BY  HAVING 
ᯮ ⠪ ᯮᮡ,  ⮫쪮  㯯 뢮   
,  㤥 ⪫  ਭ樯.   ᯮ짮



    116             SQL         
______________________________________________________________________
          . 10

 ॣ 㭪  । WHERE  ࠭ -
⥫ 㯯. ਬ, ᫥騩     ।-
 祭 ᨮ த   -

                SELECT AVG (comm)
                    FROM Salespeople
                    GROUP BY city
                    HAVlNG city = "London";

  ᯮ짮  !  类 砥   訩 ᯮ-
ᮡ ନ஢ . 㣨 ᯮᮡ   -

                 SELECT AVG (comm)
                    FROM Salespeople
                    WHERE city = "London";



    
      IN

  ᯮ짮   ந  ᫮
ப ᫨  ᯮ ᯥ樠  IN (  BETWEEN,
LIKE,  IS NULL   ᯮ짮  ᠬ ).   , 
IN ।  祭,     ᮢ  㣨 
ନ ࠢ ।  浪, ⮡ ।  . 
  ᯮ IN  ᮬ, SQL  ନ    
뢮 .  , ᫥⥫쭮, ᯮ짮 IN ⮡ 믮-
 ⠪     㤥 ࠡ  ५樮 -
஬,    ਡ ⠡ 浪  த   ( 뢮 
뢠  㭪 10.4 ):

            SELECT *
                FROM Orders
                WHERE snum IN
                     ( SELECT snum
                         FROM Salespeople
                         WHERE city = "LONDON" );



                  117
______________________________________________________________________


               ===============  SQL Execution Log ==============
              |                                                 |
              | SELECT *                                        |
              | FROM  Orders                                    |
              | WHERE snum IN                                   |
              | (SELECT snum                                    |
              | FROM Salespeople                                |
              | WHERE city = 'London');                         |
              | =============================================== |
              |   onum       amt      odate      cnum     snum  |
              |  -----    --------  ----------  -----   ------  |
              |   3003      767.19  10/03/1990   2001     1001  |
              |   3002     1900.10  10/03/1990   2007     1004  |
              |   3006     1098.19  10/03/1990   2008     1007  |
              |   3008     4723.00  10/05/1990   2006     1001  |
              |   3011     9891.88  10/06/1990   2006     1001  |
                ================================================

㭮 10. 4:  ᯮ짮   IN

 樨  ⮩,  -    짮⥫ ⮡ 
       ⮡  믮, 祬 ᫨ 
  ᯮ짮 쥤:

       SELECT onum, amt, odate, cnum, Orders.snum
          FROM Orders, Salespeople
          WHERE Orders.snum = Salespeople.snum
              AND Salespeople.city = "London";

   ந   ᠬ 뢮    ਬ  ᮬ, 
SQL  㤥 ᬮ    ப  
 ⠡  ஢  ᭮  ⠢ ।.
  䥪⨢   ⠡ த殢 祭  snum 
 city = "London",  ⥬ ᪠  祭  ⠡ 浪,   
  ਠ  ᮬ. ७    snums=1001 
 snum=1004. 譨 , ⥬,   ப  ⠡ 浪 
   snum .
  ண , ॥   ࠡ⠥ ਠ , ࠪ᪨ 
  ॠ樨 -   ணࠬ   ᯮ. 
  襩 ணࠬ 뢠 - ⨬, ⠥  
 䥪⨢ ᯮᮡ 믮  ᮢ.



     118              SQL         
______________________________________________________________________
             . 10

訩 ⨬  类 砥 ८ࠧ ਠ 쥤 
 ,   筮 ⮣ ᯮᮡ   ⮡ ᭨ 
믮   .  ࠭     祬 -
   ⨬.

筮   ⠪ ᯮ짮  IN,    㢥-
७   ந 筮 祭.   樨 
  ᯮ짮 ५樮  ࠢ (=),  
ᯮ짮 IN.  ⫨稥  ५樮 ஢, IN   -
  ௥ 㤠 ᫨  祬  祭 ࠭ 
ᮬ.     २⢮  ⪮.
  㢨 ।⢥ 뢮  ᮢ; ᫨  
  ᮡࠥ ந ⮫쪮  祭,   ந 
ࠧ.   ᬮ ᭨ ࠧ  뢮 ᭮ . 
ਬ, ᬮਬ ,  宦  ।:

              SELECT onum, amt, odate
                  FROM Orders
                  WHERE snum =
                      ( SELECT  snum
                      FROM Orders
                      WHERE cnum = 2001 );

  ࠭ ॡ  DISTINCT ᯮ IN  (=),
 ⮬:

              SELECT onum, amt, odate
                  FROM Orders
                  WHERE snum IN
                      ( SELECT snum
                      FROM Orders
                      WHERE cnum = 2001 );

  ᫨  訡    浪  ।⮢ 
ࠧ த栬?  ᯮ IN 㤥   
浪   த殢.   祢 ᯮᮡ -
  訡,  ⮬ ᣥ஢   襭 
ᤥ  ᭮ ⮣    ᮤঠ 訡. ਠ 
ᯮ騩 ( = ) ,  ௨ 㤠.



                   119
______________________________________________________________________


 ,  ࠩ ,   㧭   ⠪ ஡.
  ⥬ 믮  ࠢ, 믮  -
 ⤥쭮   祭   ந.

 ਭ樯, ᫨     (  ) 뢥 
⮫쪮  祭,   ᯮ짮 = .
IN  室騬, ᫨   ࠭祭 ந 
  祭, ᨬ  ⮣     .
।,  ⨬  ᨮ  த殢 㦨-
 稪  :

          SELECT comm
              FROM Salespeople
              WHERE snum IN
                ( SELECT snum
                    FROM Customers
                    WHERE city = "London" );

뢮묨  ⮣ ,   㭪 10.5,  
祭 ᨮ த Peel ( snum = 1001 ),   
 稪  .  - ⮫쪮   .
  稭 ⮡  稪     
祭묨  - . ⥫쭮, IN -   筠
ଠ ⮡ ᯮ짮   .


                   ===============  SQL Execution Log ==============
                  |                                                 |
                  | SELECT comm                                     |
                  | FROM  Salespeople                               |
                  | WHERE snum IN                                   |
                  | (SELECT snum                                    |
                  | FROM Customers                                  |
                  | WHERE city = 'London');                         |
                  | =============================================== |
                  |    comm                                         |
                  |  -------                                        |
                  |    0.12                                         |
                  |                                                 |
                  |                                                 |
                    ================================================


㭮 10.5  ᯮ짮 IN  ᮬ  뢮  祭



     120            SQL         
______________________________________________________________________
           . 10


  稬, 䨪 ⠡   city 易⥫  ।-
饬 ਬ, ᬮ   筮  ﬨ city 
⠡ 稪  ⠡ த殢.
 SQL ᥣ  ࢮ   ⠡ 祭  ।
FROM ⥪饣 .
᫨     ⠬  , ஢ 譨 .
 㯮⮬ ਬ, "city"  । WHERE 砥  -
 뫪  Customer.city(  city ⠡ 稪).
  ⠡ 稪 㪠  । FROM ⥪饣 , 
SQL ।   - ࠢ쭮.  ।   ⬥-
   ⠡  䨪ᮬ ᥢ,    
ਬ   㤥   ᮮ⭥ᥭ . ᫨ 
 ᯮ冷, 筮 ,  ᥣ ᯮ짮 䨪.

   
  ᮢ 㦤  ⮩  ,    롨 
 ⮫.  易⥫쭮, ᪮ ࠭ 뢮 ࠢ-
   祭. ⢥ত ⮬ ,  SELECT *   -
 ᯮ짮  .  ᪫祭  ⮣,  -
 ᯮ  ஬ EXISTS,   㤥 ।⠢  
 12.

   
  ᯮ짮 ࠦ ᭮  ⮫,    ᠬ 
⮫,  । SELECT .    믮  
  ५樮 ஢   IN. ਬ, ᫥騩  
ᯮ ५樮  = ( 뢮 뢠  㭪 10.6 ):

             SELECT *
                FROM Customers
                WHERE cnum =
                    ( SELECT snum + 1000
                         FROM Salespeople
                         WHERE sname = Serres );

 室  稪  祭  cnum ࠢ 1000,  
snum Serres.  ।  ⮫ sname     
祭 (    ।ᠭ  UNIQUE INDEX, 㦤 
  17,  ࠭祭 UNIQUE, 㦤   18 ); 



                   121
______________________________________________________________________


               ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers                               |
              | WHERE cnum =                                  |
              | (SELECT snum + 1000                           |
              | WHERE Salespeople                             |
              | WHERE sname = 'Serres'                        |
              | ============================================= |
              |   cnum     cname     city    rating    snum   |
              |  -----    --------   ----    ------   -----   |
              |   2002    Giovanni   Rome       200    1003   |
                =============================================

㭮 10.6: ᯮ짮   ࠦ

  ந ᫥ 祭.   snum  
num   ⠪ ⮣ 㭪樮쭮 祭  ਬ 
ࢨ  ,   ᥣ ,  ⨯ 㯮⮣ 
⭮ .


   HAVING

  ⠪ ᯮ짮   । HAVING.
   ᯮ짮 ᢮ ᮡ⢥ ॣ 㭪樨
᫨   ந ᫥ 祭  ᯮ짮 
GROUP BY  HAVING. 騩    ⮬ ਬ஬
( 뢮  뢠  㭪 10.7 ):

        SELECT rating, COUNT ( DISTINCT cnum )
            FROM Customers
            GROUP BY rating
            HAVING rating >
                ( SELECT AVG (rating)
                     FROM Customers
                     WHERE city = " San Jose';



     122               SQL          
______________________________________________________________________
              . 10


               ===============  SQL Execution Log ============
              |                                               |
              | SELECT rating,count (DISTINCT cnum)           |
              | FROM  Customers                               |
              | GROUP BY rating                               |
              | HAVING rating >                               |
              | (SELECT AVG (rating)snum + 1000               |
              | FROM Custimers                                |
              | WHERE city = 'San Jose'                       |
              |============================================   |
              |  rating                                       |
              | --------    --------                          |
              |   200             2                           |
               ================================================

㭮 10.7: 宦 稪  業  ।  San Jose

  뢠 稪  業  ।  San Jose.
   㣨 業 ⫨  300,    뢥
 ᫮ ஢ 稪    業.


===============      ===============

  ᯮ   ᪮ .  , 
ᯮ짮 १    ࠢ 㣨,  
 騥 믮 襥 ⢮ 㭪権. 
 ⥯   ᯮ짮   ५樮묨 -
ࠬ ⠪    ᯥ樠 ஬ IN,   । 
WHERE   । HAVING 譥 .

 ᫥ ,  㤥 ࠧࠡ뢠 .
砫   11,  㤨 㣮  ,  믮 
⤥쭮   ப ⠡ 뢠  譥 .
⥬,   12  13,  ।⠢  ᪮쪨 ᯥ樠 -
ࠬ  㭪樮   ,    IN,  -
祭     ᯮ짮 ⮫쪮  .



                 123
______________________________________________________________________


***************   SQL *************

1.  ,   ᯮ짮   祭 
    浪  稪   Cisneros.
   ।,      ⮣ 稪, 㪠뢠 
     cnum.

2.    뢥    業  稪
     । 浪.

3.     ࠫ  㬬  ਮ⥭ 
    浪   த,  ண   㬬  
   祬 㬬 襣 浪  ⠡.


( . ਫ A  ⢥⮢. )





                                                                                  11




                     




       126            SQL          
______________________________________________________________________
              . 11

  ,    
  ஬   ਫ   10 - 饭 ᮮ⭥-
ᥭ .  㧭  ᯮ짮 ᮮ⭥ᥭ  
 । ᮢ WHERE  HAVING.  
室⢠  ࠧ  ᮮ⭥ᥭ묨 ᠬ  쥤ﬨ
 㦤 ,   ᬮ    ᥢ 
 䨪ᮢ  ⠡ -   室    ᯮ짮.


                    
=========    ===========

  ᯮ   SQL,     ७-
  ⠡  । 譥  FROM , ନ-
஢ - ᮮ⭥ᥭ .    ,  믮-
 ⭮,   ࠧ   ப ⠡ ᭮ 
.
⭥ᥭ  -   讣 ⢠ ⮭ ⨩
 SQL - ᫮   業.
᫨  㬥  ,     祭 , ⮬ 
 믮 ᫮ 㭪樨   祭  㪠. 

    ਬ,   ᯮᮡ   稪  浪  3- 
 ( 뢮  뢠  㭪 11.1 ):

             SELECT *
                FROM Customers outer
                WHERE 10/03/1990 IN
                  ( SELECT odate
                       FROM Orders inner
                       WHERE outer.cnum = inner.cnum );



    

 㯮⮬ ਬ, "७"(inner)  "譨"(outer),  
ᥢ,  㦤   9.  ࠫ    
襩 ᭮;  뫠  祭 ७  譨 -
ᮢ, ᮮ⢥⢥.   祭   cnum  譥  
, ७   믮 ⤥쭮  
ப 譥 . ப 譥   ண ७-



                                     127
______________________________________________________________________


               ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers outer                         |
              | WHERE 10/03/1990 IN                           |
              | (SELECT odate                                 |
              | FROM Orders inner                             |
              | WHERE outer.cnum = inner.cnum);               |
              | ============================================= |
              |   cnum     cname     city    rating    snum   |
              |  -----    --------   ----    ------   -----   |
              |   2001    Hoffman    London     100    1001   |
              |   2003    Liu        San Jose   200    1002   |
              |   2008    Cisneros   San Jose   300    1007   |
              |   2007    Pereira    Rome       100    1004   |
                =============================================


㭮 11.1: ᯮ짮 ᮮ⭥ᥭ 

   ࠧ 㤥 믮, 뢠 - ⥪饩 
ப-⮬. ⥫쭮, 楤 業 믮塞 
ᮮ⭥ᥭ ᮬ - :

1.  ப  ⠡   譥 .
    㤥 ⥪ ப-.

2. ࠭ 祭  ⮩ ப-  ᥢ  
    । FROM 譥 .

3. 믮 . ,  ᥢ   譥
     (  ⮬ 砥 "譨" ), ᯮ짮 祭
    ⥪饩 ப-. ᯮ짮 祭  ப-
    譥    뢠 - 譥
   뫪.

4. 業 । 譥   ᭮ १⮢ 
   믮塞  蠣 3.  । - 롨ࠥ  ப- 
    뢮.

5.  楤  ᫥饩 ப- ⠡,  ⠪
      ப ⠡   ஢७.



      128               SQL          
______________________________________________________________________
              . 11

 㯮⮬ ਬ, SQL ⢫ ᫥ 楤:

1.  롨ࠥ ப Hoffman  ⠡ 稪.

2. ࠭  ப  ⥪ ப-  ᥢ -
    "譨".

3. ⥬  믮 .  ᬠਢ  ⠡
   浪 ⮡  ப  祭 cnum  - ⠪   
   祭 outer.cnum, ஥  饥 ६ ࠢ 2001, -  
   cnum ப Hoffman.
   ⥬    odate   ப ⠡ 浪  
   ன  ୮,  ନ  祭  odate.

4.  稢   祭  odate,   cnum = 2001,
    ஢ । ᭮  ⮡    -
   祭  3   ⮬ . ᫨  ⠪(  ⠪),   롨ࠥ 
   ப Hoffman  뢮   ᭮ .

5.    楤, ᯮ ப Giovanni  ப--
   ,  ⥬ ࠭ ୮   ப ⠡ 稪 
    㤥 ஢७.

   , ᫥  SQL 믮   
 権 -   . 筮,      
 ᠬ ஡ ᯮ 쥤, ᫥饣  ( 뢮 
⮣  뢠  㭪 11.2 ):

              SELECT *
                 FROM Customers first, Orders second
                 WHERE first.cnum = second.cnum
                    AND second.odate = 10/03/1990;

   Cisneros  ࠭ ,   ࠧ  
 浪      .    ࠭  
ᯮ SELECT DISTINCT   SELECT.    易⥫쭮 
 ਠ .  IN, ᯮ㥬  ਠ ,  
  ࠧ  祭ﬨ  롨 ᮬ 
 ࠧ  祭ﬨ  롨 ⭮.  ⥫쭮 
DISTINCT 易⥫.



                                      129
______________________________________________________________________

               ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers first, Orders second          |
              | WHERE first.cnum = second.cnum                |
              | (SELECT COUNT (*)                             |
              | FROM Customers                                |
              | WHERE snum = main.snum;                       |
              | ============================================= |
              |   cnum     cname                              |
              |  -----    --------                            |
              |   1001     Peel                               |
              |   1002     Serres                             |
                =============================================

㭮 11. 2   ᯮ짮 쥤  ᮮ⭥ᥭ
                      

।   ⨬      த殢  
   稪. 騩  믮    
( 뢮 뢠  㭪 11.3 ):

             SELECT snum, sname
                FROM Salespeople main
                WHERE 1 <
                    ( SELECT COUNT (*)
                         FROM Customers
                         WHERE snum = main.snum );

   । FROM   ⮬ ਬ 
ᯮ ᥢ.  ⢨  ⠡  䨪 ᥢ-
, SQL   砫 ਭ,    뢮  ⠡ 
  㪠  । FROM ⥪饣 . ᫨   ⨬ 
 (  襬 砥 - snum )  ⮩ ⠡, SQL 㤥 ஢ 
譨 .  ⮬, 䨪  ⠡ 筮 室  
ᮮ⭥ᥭ  -  ⬥ ⮣ ।. ᥢ ⠪ 
 訢 ⮡    뫠  ⮩  ᠬ 
⠡  ७  譥   - 筮.



        130              SQL        
______________________________________________________________________
                . 11

               ===============  SQL Execution Log ============
              |                                               |
              | SELECT snum sname                             |
              | FROM  Salespeople main                        |
              | WHERE 1 <                                     |
              | AND second.odate = 10/03/1990;                |
              | ============================================= |
              |   cnum     cname     city    rating    snum   |
              |  -----    --------   ----    ------   -----   |
              |   2001    Hoffman    London     100    1001   |
              |   2003    Liu        San Jose   200    1002   |
              |   2008    Cisneros   San Jose   300    1007   |
              |   2007    Pereira    Rome       100    1004   |
                =============================================

㭮 11.3: 宦 த殢  ᫥묨 稪


   
             

  믮   ࠧࠡ⠭ ᯥ樠쭮 ⠪ 
⮡ 室 訡.  ᥣ   䥪⭮ ଠ樨 
      , , ᫨  , 뢠 
㤭  ।. 騩    ந -
 뢮.  ᬠਢ ⠡ 浪 ⮡  ᮢ
  snum  cnum   ப ⠡ 稪  뢮 -
 ப  ⮣ ᮢ . 㣨 ᫮,  , 
  த ।⮢  த (  ਭ  cnum, 
 ࢨ  ⠡ 稪,   㤥  
 祭  ⮩ ⠡ ).

        SELECT *
           FROM Orders main
           WHERE NOT snum =
              ( SELECT snum
                  FROM Customers
                  WHERE cnum = main.cnum );



                                     131
______________________________________________________________________



 ᯮ짮 堭 ࠢ筮 楫⭮ ( 㦤
  19 ),    ࠭஢   訡 ⠪
.  堭  ᥣ 㯥,   ᯮ짮 -
⥫쭮   , 祬  訡  ᠭ , 
   .


   

  ⠪ ᯮ짮 ᮮ⭥ᥭ  ᭮ 
⮩  ᠬ ⠡   ᭮ .    
 । ᫮  ந ଠ樨. 
ਬ,     浪  祭ﬨ 㬬 ਮ-
  ।   稪 ( 뢮   㭪 11.4 ):

           SELECT *
              FROM Orders outer
              WHERE amt >
                  ( SELECT AVG amt
                       FROM Orders inter
                       WHERE inner.cnum = outer.cnum );



               ===============  SQL Execution Log ==============
              |                                                 |
              | SELECT *                                        |
              | FROM  Orders outer                              |
              | WHERE amt >                                     |
              | (SELECT AVG (amt)                               |
              | FROM Orders inner                               |
              | WHERE inner.cnum = outer.cnum                   |
              | =============================================== |
              |   onum       amt      odate      cnum     snum  |
              |  -----    --------  ----------  -----   ------  |
              |   3006     1098.19  10/03/1990   2008     1007  |
              |   3010     1309.00  10/06/1990   2004     1002  |
              |   3011     9891.88  10/06/1990   2006     1001  |
                ================================================

㭮 11.4: ⭥ᥭ ⠡  ᮡ



        132             SQL         
______________________________________________________________________
                . 11

筮,  襩 쪮 ⨯ ⠡,  ⢮ 稪
 ⮫쪮  冷, 設⢮ 祭  ६ 
।  ᫥⥫쭮  롨.    㣨 
ᯮᮡ ( 뢮 뢠  㭪 11.5 ):

              SELECT *
                  FROM Orders outer
                  WHERE amt > =
                      ( SELECT AVG (amt)
                          FROM Orders inner
                          WHERE inner.cnum = outer.cnum );

               ===============  SQL Execution Log ==============
              |                                                 |
              | SELECT *                                        |
              | FROM  Orders outer                              |
              | WHERE amt > =                                   |
              | (SELECT AVG (amt)                               |
              | FROM Orders inner                               |
              | WHERE inner.cnum = outer.cnum);                 |
              | =============================================== |
              |   onum       amt      odate      cnum     snum  |
              |  -----    --------  ----------  -----   ------  |
              |   3003      767.19  10/03/1990   2001     1001  |
              |   3002     1900.10  10/03/1990   2007     1004  |
              |   3005     5160.45  10/03/1990   2003     1002  |
              |   3006     1098.19  10/03/1990   2008     1007  |
              |   3009     1713.23  10/04/1990   2002     1003  |
              |   3010     1309.95  10/06/1990   2004     1002  |
              |   3011     9891.88  10/06/1990   2006     1001  |
                ================================================

㭮 11.5: 롥 浪  > = । 㬬 ਮ⥭
                    稪.

稥, 筮,  ⮬,  ५樮  ᭮ ।
砥 祭  ࠢ । (  筮 砥
  - ⢥ 浪   稪 ).


    HAVING

  । HAVING   ,    
ᮮ⭥ᥭ .   ᯮ ᮮ⭥ᥭ 



                                     133
______________________________________________________________________


 । HAVING,   ࠭稢 譨 뫪  -
    ।⢥ ᯮ짮  ᠬ ।-
  HAVING.   ᯮ   6  । HAVING
 ᯮ짮 ⮫쪮 ॣ 㭪樨  㪠   
। SELECT   ᯮ㥬   । GROUP BY. 
  ⮫쪮 譨 뫪,    .  
 ⮬,  । । HAVING 業   -
  譥 ,     ப.
⥫쭮,  㤥 믮  ࠧ   㯯 -
  譥 ,     ப.

।    㬬஢ 祭 㬬 ਮ⥭ 㯮 
 ⠡ 浪, 㯯஢   ⠬, 㤠     SUM 
   ࠩ   2000.00  ᨬ쭮 ( MAX ) 㬬:

           SELECT odate, SUM (amt)
              FROM Orders a
              GROUP BY odate
              HAVING SUM (amt) >
                  ( SELECT 2000.00 + MAX (amt)
                       FROM Orders b
                       WHERE a.odate = b.odate );

  祭 MAX   ப  ⮩  ᠬ ⮩
   ⥪饩 ॣ⭮ 㯯 ᭮ .    
믮,   ࠭,  ᯮ짮 । WHERE.  
   ᯮ짮 । GROUP BY  HAVING.


   

    ।, ᮮ⭥ᥭ   த 
 쥤 -    ஢  ப  ⠡
  ப 㣮 (  ᥢ  ⮩  ) ⠡.
   設⢮ 権   믮  
   ⠪ ࠡ   㣨.

  ࠧ稥  ਪ ணࠬ  , ⠪  
㯮 ॡ  ᯮ짮 DISTINCT  쥤 
   易⥫쭮  ᮬ.  ⠪  
    ⠪,  ⮣   㣮. , 
ਬ,  ᯮ짮 ॣ 㭪  ।, 
 믮 権 ⨯ 襣 ।饣 ਬ 



      134            SQL         
______________________________________________________________________
             . 11

஬   浪 ।   稪.
쥤,  㣮 ஭,  뢮 ப   ࠢ-
 ⠡,   ६  뢮 ᮢ ᯮ ⮫쪮  
। 譨 ᮢ.  ࠢ, ଠ   -
  ⨢ 㤥 ⭮ 襩  ᯮ짮,  
 ⮬     孨   権     
  ࠡ.


================    ================

  ࠢ ᥡ   讣 ᪠  ᬮ७
⨩  SQL - ᮮ⭥ᥭ .    ᮮ⭥ᥭ
 易  쥤,  ⠪,     ᯮ짮  
ॣ묨 㭪ﬨ   । HAVING.  饬,  ⥯ 
㧭  ⨯ ᮢ .

騩 蠣 - ᠭ  SQL ᯥ樠 ஢. 
   㬥,    IN,   ⫨稥  IN,  
 ᯮ짮 ⮫쪮  .   , ।⠢ 
  12, - 뢠 EXISTS.



                                    135
______________________________________________________________________


***************   SQL *************

1.   SELECT ᯮ ᮮ⭥ᥭ ,
    롥     稪  ᨬ묨
     த 業.

2.     롥  த殢 (    
     )   ᢮ த  稪    
   㦨.   -  ᯮ짮 쥤   -
    ᮮ⭥ᥭ ᮬ.
   ஥  襭 㤥  ?

( ᪠:   ᯮᮡ  ᤥ, ⮨  ⮬, ⮡ 室 
   稪  㦨  த殬  ।, 
  室      த த. )

( . ਫ A  ⢥⮢. )





                                                                                    12




          EXISTS




        138              SQL         
______________________________________________________________________
              . 12

,      ,
     ᯥ樠   ᥣ 
   㬥.  㧭  ࢮ    ⮩ .  
⠫  ᠭ  ᫥饩 .

 EXISTS ᯮ ⮡ 㪠 ।, - ந  
 뢮  .  ⮩ ,  㧭  ᯮ짮  
  ⠭묨  ( 筮 ) ᮮ⭥ᥭ묨 ᠬ.
 㤥 ⠪ 㦤 ᯥ樠 諥  ३ 
   㤥 ᯮ짮    ⭮⥫ ॣ, 
 ⮩ 㪠⥫ NULL,    . ஬ ⮣,   -
  ᨮ ஢ ⭮⥫쭮 ᮢ ᫥ 
   ᫮ ਪ ணࠬ 祬      
 .


==========     EXISTS?  ==========

EXISTS -  ,  ந ୮  ୮
祭, 㣨 ᫮, ࠦ  ( .  4  
⮣ ନ ).
 砥    ࠡ ⮭  ।   -
樨  㣨 ࠦﬨ  ᯮ騬 㫥  AND, 
OR,  NOT.      㬥  業    
᫨  ந  뢮    ᫨    ⮣.
⨬  ⫨砥  㣨 ஢ ।,  1    
 . ਬ,   ,     
  ⠡ 稪 ᫨,  ⮫쪮 ᫨,    -
  ⮩ ⠡ 室  San Jose ( 뢮  ⮣  -
  㭪 12.1 ):

              SELECT cnum, cname, city
                  FROM Customers
                  WHERE EXISTS
                      ( SELECT *
                          FROM Customers
                          WHERE city = " San Jose' );

७  롨ࠥ     稪  San Jose.
 EXISTS  譥 । ⬥砥,   뢮
 ந ᮬ,  ᪮ ࠦ EXISTS 뫮 -
 ।⮬,  । . (  ᮮ⭥ᥭ ) 
 믮 ⮫쪮  ࠧ  ᥣ 譥 ,  ᫥-



               EXISTS               139
______________________________________________________________________


               ===============  SQL Execution Log ============
              |                                               |
              | SELECT snum, sname, city                      |
              | FROM  Customers                               |
              | WHERE EXISTS                                  |
              | (SELECT *                                     |
              | FROM Customers                                |
              | WHERE city = 'San Jose');                     |
              | ============================================= |
              |   cnum     cname     city                     |
              |  -----    --------   ----                     |
              |   2001    Hoffman    London                   |
              |   2002    Giovanni   Rome                     |
              |   2003    Liu        San Jose                 |
              |   2004    Grass      Berlin                   |
              |   2006    Clemens    London                   |
              |   2008    Cisneros   San Jose                 |
              |   2007    Pereira    Rome                     |
                =============================================

㭮 12.1 ᯮ짮  EXISTS

⥫쭮   祭   . ⮬ EXISTS,  ᯮ-
 ⨬ ᯮᮡ,  ।      ப 
ࠧ,    ⠪    祭 । ଠ樨.


    EXISTS

 㯮⮬ ਬ, EXISTS   ⠭ ⠪ ⮡ 
   ⮫,  ⮣, ⮡ 롨  ⮫
ᯮ  롮 ( SELECT *)  ⮬ ⮨  ⫨稥  
  (    ࠭   10   ⮫-
  ⮫ ) .
,  ਭ樯   ⫨砥  롮 EXISTS ⮫殢,
  롨  ⮫, ⮬    砥 -
믮   뢮   -   ᯮ 뢥-
 祭.


 EXISTS  
 

 ᮮ⭥ᥭ , । EXISTS 業 ⤥쭮
  ப ⠡  ன 㪠  譥 , 
筮 ⠪   㣨  ।,   ᯮ 


      140            SQL          
______________________________________________________________________
             . 12

ᮮ⭥ᥭ .    ᯮ짮 EXISTS  
 ।,   ࠧ ⢥   ப
⠡ 㪠  ᭮ . ⥫쭮 ଠ  -
७ , 㤥 ࠭, ᫨ 뢥 ।⢥,  
ᯮ EXISTS ⠪ ᯮᮡ. ਬ,   뢥 த-
殢   ᫥ 稪 ( 뢮  ⮣   
뢠  㭪 12.2 ):

              SELECT DISTINCT snum
                  FROM Customers outer
                  WHERE EXISTS
                      ( SELECT *
                           FROM Customers inner
                           WHERE inner.snum = outer.snum
                               AND inner.cnum < > outer.cnum );


               ===============  SQL Execution Log ============
              |                                               |
              | SELECT DISTINCT cnum                          |
              | FROM  Customers outer                         |
              | WHERE EXISTS                                  |
              | (SELECT *                                     |
              | FROM Customers inner                          |
              | WHERE inner.snum = outer.snum                 |
              | AND inner.cnum < > outer.cnum);               |
              | ============================================= |
              |   cnum                                        |
              |  -----                                        |
              |   1001                                        |
              |   1002                                        |
                =============================================

㭮 12. 2: ᯮ짮 EXISTS  ᮮ⭥ᥭ ᮬ

  ப- 譥  ( ।⠢饩 -
稪 ஢塞  饥 ६ ), ७  室 -
  ᮢ  祭  snum ( ஥  த ), 
   祭  cnum ( ⢥饣 㣨 稪 ).
᫨  ⠪ ப  ७ ᮬ,  砥,
   ࠧ 稪 㦨 ⥪騬 த殬



                    EXISTS           141
______________________________________________________________________


( - த殬 稪  ⥪饩 ப-  譥 -
 ). । EXISTS ⮬ ७  ⥪饩 ப,   -
  (snum) ⠡ 㪠  譥  㤥 뢥. 
᫨  DISTINCT  㪠,    த殢 㤥 ࠭ 
 ࠧ   稪  ஬  祭.


  EXISTS  

      뢥  ଠ樨   
த   ⮫쪮  .   ᤥ  ꥤ ⠡ 
稪  ⠡楩 த殢 ( 뢮   뢠  
㭪 12.3 ):

             SELECT DISTINCT first.snum, sname, first.city
                FROM Salespeople first, Customers second
                WHERE EXISTS
                   ( SELECT *
                      FROM Customers third
                      WHERE second.snum = third.snum
                            AND second.cnum < > third.cnum )
                   AND first.snum = second.snum;

               ===============  SQL Execution Log ============
              |                                               |
              | SELECT DISTINCT first.snum, sname, first.city |
              | FROM  Salespeople first, Customers second     |
              | WHERE EXISTS                                  |
              | (SELECT *                                     |
              | FROM Customers third                          |
              | WHERE second.snum = third.snum                |
              | AND second.cnum < > third.cnum)               |
              | AND first.snum = second.snum;                 |
              | ============================================= |
              |   cnum     cname     city                     |
              |  -----    --------   ----                     |
              |   1001    Peel       London                   |
              |   1002    Serres     San Jose                 |
                =============================================

㭮 12.3:  EXISTS  쥤



      142            SQL        
______________________________________________________________________
            . 12

७   -    ।饬 ਠ, 䠪᪨
ᮮ頥,  ᥢ  . 譨  -  쥤 
⠡ த殢  ⠡楩 稪,  ⮣    
०.  । ᭮ । ( AND first.snum = 
second.snum ) ⢥ 業  ⮬  ᠬ ஢   
। EXISTS.  - 㭪樮 । ᠬ 쥤, 
ࠢ騩  ⠡  譥   ନ  snum, 
஥    騬. - 㫥  AND,  ᫮ 
᭮ ।     浪  ୮ ।. 
⥫쭮, १    ⮫쪮    
    ୠ,  쥤 - 믮塞.  -
  ꥤ     祭 
ᯮᮡ ࠡ⪨ .


   NOT EXISTS

।騩 ਬ    EXISTS  ࠡ  樨
 ࠬ . 筮,    ᠬ  ᯮᮡ  
ᯮ짮  ⭮   ᯮ  EXISTS -  
 NOT.   ᯮᮡ       த-
殢 ⮫쪮   稪 㤥   ⮬, ⮡ ஢ 
 ।騩 ਬ. 
( 뢮  ⮣  뢠  㭪 12.4:)

               SELECT DISTINCT snum
                  FROM Customers outer
                  WHERE NOT EXISTS
                        ( SELECT *
                            FROM Customers inner
                            WHERE inner.snum = outer.snum
                                  AND inner.cnum < > outer.cnum );



EXISTS  

     EXISTS   ᤥ -  㭪 ॣ 
 .   祭. ᫨ 㭪 ॣ 室 
ப  権  , EXISTS ७,    ,   - -|
祭 㭪樨 ;  ᫨  ॣ⭠ 㭪  室  ப,
EXISTS ࠢ.



                  EXISTS             143
______________________________________________________________________

               ===============  SQL Execution Log ============
              |                                               |
              | SELECT DISTINCT snum                          |
              | FROM  Salespeople outer                       |
              | WHERE NOT EXISTS                              |
              | (SELECT *                                     |
              | FROM Customers inner                          |
              | WHERE inner.snum = outer.snum                 |
              | AND inner.cnum < > outer.cnum);               |
              | ============================================= |
              |   cnum                                        |
              |  -----                                        |
              |   1003                                        |
              |   1004                                        |
              |   1007                                        |
                =============================================

㭮 12.4: ᯮ짮 EXISTS  NOT


⪠ ᯮ짮 ॣ  EXISTS ⠪ ᯮᮡ, ⭮
  ஡ ୮ 蠫  砫  .

筮,   । EXISTS  ⠪ ᯮ짮 
    ᮡ⢥ ᮢ.     
ࠧ ⨯    (    㤥  ).
 ,   㣨  ,  ᯮ짮 -
, ᫨  㣮 稭  ன     ᯮ짮-
. 騩 ࠧ ਢ ⮬ ਬ.

  砥,      ᠬ १  ,
ࠢ  ஥  ᯮ짮  ॣ⭮ 㭪樨,  -
짮 ᠬ ⮩ 㭪樨. 㣨 ᫮, । -
EXISTS (SELECT COUNT (DISTINCT sname) FROM Salespeople) 
- 㤥 ⥭ - EXISTS (SELECT sname FROM Salespeople) 
   .


   

 ਪ ணࠬ ᮢ  ⠭ -
⭮ 뢠묨.
  뢠       ,    
 㣮.    ᬮ 让 ᮪ ⮡ -
  ⨭ ࠡ ⮩ ,   ᯮ짮 
ᯮᮡ  SQL,   ਭ ࠧ   -
設⢠ 㣨 몮.



      144          SQL         
______________________________________________________________________
            . 12

      ப  த殢   
稪   祬  ⥪騬 浪.   易⥫쭮 -
 ⮥ 襭 ⮩ ஡,   ।祭 ᪮॥  
襭  SQL. 뢮 ⮩ ଠ樨 뢠    
⨯ ⠡:

            SELECT *
               FROM Salespeople first
               WHERE EXISTS
                  ( SELECT *
                      FROM Customers second
                      WHERE first.snum = second.snum
                      AND 1 <
                         ( SELECT COUNT (*)
                              FROM Orders
                              WHERE Orders.cnum =
                               second.cnum ));

뢮  ⮣  뢠  㭪 12.5.

               ===============  SQL Execution Log ============
              |                                               |
              | FROM  Salespeople first                       |
              | WHERE EXISTS                                  |
              | (SELECT *                                     |
              | FROM Customers second                         |
              | WHERE first.snum = second.snum                |
              | AND 1 <                                       |
              | (SELECT  CONT (*)                             |
              | FROM Orders                                   |
              | WHERE Orders.cnum = second.cnum));            |
              | ============================================= |
              |   cnum     cname     city         comm        |
              |  -----    --------   ----       --------      |
              |   1001    Peel       London         0.17      |
              |   1002    Serres     San Jose       0.13      |
              |   1007    Rifkin     Barselona      0.15      |
                =============================================

㭮 12.5: ᯮ짮 EXISTS   ᮬ



                 EXISTS              145
______________________________________________________________________


   ࠧ 㯮  ਬ୮ ⠪:

६  ப ⠡ த殢  ப-( 譨
 )  믮塞 .   ப-  -
譥 , ६  ᮮ⢥⢨  ப  ⠡ -
( ।  ). ᫨ ⥪ ப 稪  ᮢ  -
饩 ப த( .. ᫨ first.snum < > second.snum ), । 
।  ࠢ. 直 ࠧ,   室 稪  
।   ᮢ  த殬  譥 ,  
 ᬠਢ ᠬ ७  ⮡ ।, 㤥  
 । ।  ७.
७  ⠥ ᫮ 浪 ⥪饣 稪 (  ।-
  ). ᫨  ᫮ 訩 祬 1, । ।  
७,  ப 롨.
  EXISTS । 譥    ⥪饩 ப 
த,  砥,   ࠩ    ⥪ 稪 -
   祬  冷.

᫨    筮     ⮩ 窥 ࠧ
ਬ,  .  ⮣ ਬ -  ᨬ
 ⮣,   㤥  ᯮ짮    樨.
᭮ 楫 ਬ஢ ⠪ ⨯ ⮨  ⮬, ⮡   
      쭥襬 묨. 
᫥ ࠡ  ᫮묨 ﬨ  ⮩,   -
    ᯮ㥬묨  SQL,   -
묨.

஬ ⮣,  ,  ᫨   㤮, 쭮 -
 ᯮᮡ 祭 ଠ樨    ࠡ.
 뢠  ࠧ ⠡ ⮡    ଠ,  ᫨ 
⠡  祬  㪠, 㤥 㤭   
(   ⢥ ᯮᮡ,   易⥫쭮 訩 ᯮᮡ  SQL).
  㦭 㢨  ଠ ⭮⥫쭮 ॣ୮
᭮ - ᫨, ਬ,   ६     த 
 稫 ᫥ 浪   稪.
 ⮬ 砥,     뢥 ,  ࠭  ⮡ 
ᯮ짮 ᭮  ᭮   ⮣    
(  ᥣ ᤥ    ।⠢, ஥  㤥
室   20 ).



       146           SQL         
______________________________________________________________________
            . 12


================    ================


EXISTS,     ,     ᠬ -
 ஢ SQL. ,     魮.  ⮩
,     設⢮ ⥩  EXISTS
 .   쭥襬,   襭  
 ⥫쭮.

騬 蠣 㤥  ६ 㣨 ᯥ樠묨 -
ࠬ     㬥,  - ANY, ALL,  SOME.
  㢨   13,  - ୠ⨢ 㫨஢  
饩   㦥 ᯮ짮,     ,  
  ।⥫묨.



                     EXISTS          147
______________________________________________________________________


**************   SQL **************

1.     ᯮ짮  EXISTS  -
   祭  த殢   稪  業 300.

2.    訫 । ஡ ᯮ 쥤 ?

3.   ᯮ騩  EXISTS  롥
    த殢  稪 ࠧ饭묨   த  
    㦨.

4.       ⠡ 稪 
   稪 祭  த     
    ࠩ    稪 ( ஬ 稪 ண 
   롥 )  浪  ⠡ 浪 ( ᪠:  
    宦    ਬ  訬 -஢ -
   ᮬ ).

( . ਫ A  ⢥⮢. )





                                                                                    12




           EXISTS




      150         SQL          
______________________________________________________________________
           . 13

,     EXISTS,
 㧭 ਡ⥫쭮  ᯥ樠  ਥ㥬
 .
(᪨,  ⮫쪮 , ⠪  ANY  SOME -    .)
᫨   ࠡ  ஢,  㤥   ⨯
ᮢ । ᯮ㥬  SQL . ஬ ⮣,  㤥
।⠢ ࠧ ᯮᮡ     
ନ஢ ᯮ ࠧ ⨯ ᮢ ।,  
 २⢠  ⪨    室.

ANY, ALL,  SOME  EXISTS  ਭ  
 㬥;   ⫨  EXISTS ⥬,  ᯮ ᮢ-
⭮  ५樮묨 ࠬ.  ⮬ ⭮襭,   
 IN   ᯮ  ᠬ;    祭 
뢥 ᮬ  ࠡ뢠   . ,  ⫨稥 
 IN,   ᯮ짮 ⮫쪮  ᠬ.


=========    ============
                       ANY  SOME

 SOME  ANY - 塞   ⠬   ᯮ㥬 
ANY, SOME 㤥 ࠡ 筮 ⠪ . 稥  ନ ⮨ 
 ⮬ ⮡   ᯮ짮  ନ  
祭.   ᮧ ஡; ⮬ ,    㢨, 
      㦤.

  ᯮᮡ 宦 த  稪 ࠧ饭묨 
  த ( 뢮  ⮣   뢠  㭪 13.1 ):

            SELECT *
               FROM Salespeople
               WHERE city = ANY
                  (SELECT city
                     FROM Customers );

 ANY   祭 뢥 ᮬ, (  ⮣
 -   祭 city  ⠡ 稪 ),  業  
 ᫨ (ANY)   ࠢ 祭 த ⥪饩 ப
譥 .



       ANY, ALL,  SOME         151
______________________________________________________________________

               ===============  SQL Execution Log ============
              | SELECT *                                      |
              | FROM  Salespeople                             |
              | WHERE city = ANY                              |
              | (SELECT  city                                 |
              | FROM Customers);                              |
              | ============================================= |
              |   cnum     cname     city         comm        |
              |  -----    --------   ----       --------      |
              |   1001    Peel       London         0.12      |
              |   1002    Serres     San Jose       0.13      |
              |   1004    Motika     London         0.11      |
                =============================================

㭮 13. 1: ᯮ짮  ANY

 砥,    롨 祭 ⠪  ⨯  
 ,  ࠢ  ᭮ ।.
 ⮬  ⫨稥  EXISTS,   ।, ந  -
 १  ,  䠪᪨  ᯮ  १.


  IN  EXISTS 
    ANY

  ⠪ ᯮ짮  IN ⮡ ᮧ  -
 ।饬 :

             SELECT *
                FROM Salespeople
                WHERE city IN
                    ( SELECT city
                         FROM Customers );

  㤥 ந 뢮   㭪 13.2.

,  ANY  ᯮ짮 㣨 ५樮 -
 ஬ ࠢ ( = ),  ⠪ ࠧ  ࠢ 
  ⥩ IN. ਬ,     
த殢   稪  ᫥   䠢⭮ -
 ( 뢮   㭪 13.3)

             SELECT *
                FROM Salespeople
                WHERE sname < ANY
                   ( SELECT cname
                       FROM Customers);


      152          SQL       
______________________________________________________________________
           . 13
 

               ===============  SQL Execution Log ============
              | SELECT *                                      |
              | FROM  Salespeople                             |
              | WHERE city IN                                 |
              | (SELECT  city                                 |
              | FROM Customers);                              |
              | ============================================= |
              |   cnum     cname     city         comm        |
              |  -----    --------   ----       --------      |
              |   1001    Peel       London         0.12      |
              |   1002    Serres     San Jose       0.13      |
              |   1004    Motika     London         0.11      |
                =============================================

㭮 13. 2: ᯮ짮 IN  ⢥ ୠ⨢  ANY


               ===============  SQL Execution Log ============
              | SELECT *                                      |
              | FROM  Salespeople                             |
              | WHERE sname < ANY                             |
              | (SELECT  cname                                |
              | FROM Customers);                              |
              | ============================================= |
              |   cnum     cname     city         comm        |
              |  -----    --------   ----       --------      |
              |   1001    Peel       London         0.12      |
              |   1004    Motika     London         0.11      |
              |   1003    Axelrod    New York       0.10      |
                =============================================

㭮 13. 3: ᯮ짮  ANY  ஬ "ࠢ" ( < )

த殢   稪  㯮冷祭  䠢⭮
浪 ( 뢮   㭪 13.3)

             SELECT *
                FROM Salespeople
                WHERE sname < ANY
                   ( SELECT cname
                       FROM Customers);



        ANY, ALL,  SOME        153
______________________________________________________________________


 ப 뫨 ࠭  Serres  Rifkin, ⮬   㣨 -
稪   ᫥     䠢⭮ 浪. 
     d ᭮j ⮬ ᫥-
饬   EXISTS, 祩 뢮 뢠  㭪 13.4:

             SELECT *
                 FROM Salespeople outer
                 WHERE EXISTS
                     ( SELECT *
                          FROM Customers inner
                          WHERE outer.sname < inner.cname );

               ===============  SQL Execution Log ============
              | SELECT *                                      |
              | FROM  Salespeople outer                       |
              | WHERE EXISTS                                  |
              | (SELECT *                                     |
              | FROM Customers inner                          |
              | WHERE outer.sname < inner.cname);             |
              | ============================================= |
              |   cnum     cname     city         comm        |
              |  -----    --------   ----       --------      |
              |   1001    Peel       London         0.12      |
              |   1004    Motika     London         0.11      |
              |   1003    Axelrod    New York       0.10      |
                =============================================

㭮 13.4 ᯮ짮 EXISTS  ୠ⨢  ANY

     㫨஢  ANY ( ,  
㢨,  ALL ),    ⠪ 㫨஢  EXISTS,  
㤥 ୮. ண , ਠ  EXISTS  ᮫⭮ 祭 
ਠ⠬  ANY   ALL - ࠧ  ⮬  ࠡ뢠 -
( NULL ) 祭 (  㤥 㦤   ⮩  ).   
,  孨᪮ 窨 ७,       ANY  ALL 
᫨   ⠫ 祭 室稢  ᯮ짮 EXISTS (  IS NULL ).



      154           SQL          _____________________________________________________________________
             . 13

 設⢮ 짮⥫, , 室 ANY  ALL  㤮묨
 ᯮ짮 祬 EXISTS,  ॡ ᮮ⭥ᥭ ᮢ.
஬ ⮣,  ᨬ  ॠ樨, ANY  ALL ,  ࠩ
  ⥮ਨ,   䥪⨢묨 祬 EXISTS.
 ANY  ALL  믮  ࠧ   뢮 -
㥬 ⮡ । ।   ப ᭮ -
. EXISTS,  㣮 ஭,  ᮮ⭥ᥭ ,  
ॡ ⮡   ୮ 믮   ப 
᭮ . SQL ⠥   䥪⨢ ᯮᮡ -
  ,   ஡ ८ࠧ  -
䥪⨢     䥪⨢ (    ᥣ 
뢠  祭 ᠬ 䥪⨢ 㫨஢ ).

᭮ 稭  㫨஢ EXISTS  ୠ⨢ ANY  ALL
 ⮬  ANY  ALL   ᪮쪮 祭, - ᯮᮡ -
짮 ⮣ ନ  ᪮ 몥,    ᪮ 㢨.
 室  ࠧ ᯮᮡ 㫨஢  , 
 ᬮ ࠡ  楤ࠬ  ᥩ   -
묨  㤮묨.


 ANY   

 ࠧ㬥 , ANY   祭. ᫨  ᮧ-
  ⮡  稪   訩 ३⨭ 
祬  稪  ,    뢮  ᪮쪮 
⫨砫   ⮣    (    㭪 13.5 ):

          SELECT *
              FROM Customers
              WHERE rating > ANY
                  ( SELECT rating
                      FROM Customers
                      WHERE city = Rome );

 ᪮ 몥, ᯮᮡ   筮 ᪫ ஢
業  "  祬  (  city = Rome ) " ,   ᮮ 
  祭 業    祬 祭 業   
砥  祭 city = Rome.    ⠪,  砥 ANY - ᯮ-
㥬  SQL .  ANY 業  ୮, ᫨  室  
祭 ஥  ᫮ .



    ANY, ALL,  SOME            155
______________________________________________________________________

               ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers                               |
              | WHERE rating > ANY                            |
              | (SELECT rating                                |
              | FROM Customers                                |
              | WHERE city = 'Rome');                         |
              | ============================================= |
              |   cnum     cname     city     rating   snum   |
              |  -----    --------   ----     ------  ------  |
              |   2002    Giovanni   Rome        200    1003  |
              |   2003    Liu        San Jose    200    1002  |
              |   2004    Grass      Berlin      300    1002  |
              |   2008    Cisneros   San Jose    300    1007  |
                =============================================

㭮 13.5    " 祬"( >)  ANY

᫨  業 ANY ᯮᮡ ᯮ騬 ࠬ⨪ ᪮
몠,  ⮫쪮 稪  業 300  ॢ Giovanni,
 室     業 200. ,  ANY
⠪ 室 Periera    業 100.    稪 
業 200 뫨  ⮩,   ࠭,  ᫨  -
 稪  (Giovanni)  業  뫠  ( 䠪᪨, 
    ࠭ 稪 ⠪ 室   -
).     ந  ࠩ   祭 -
஥ ᤥ ।   ⭮襭  ப, ப 뫨 
࠭.
⮡  㣮 ਬ, ।    뫨 롨
 浪 㬬 ਮ⥭  뫨  祬  ࠩ  
  浪  6- :

               SELECT *
                   FROM Orders
                   WHERE amt > ANY
                        ( SELECT amt
                             FROM Orders
                             WHERE odate = 10/06/1990 );

뢮  ⮣  뢠  㭪 13.6.



    156           SQL          
______________________________________________________________________
          . 13


   ᫨ ᠬ ᮪ 㬬 ਮ⥭  ⠡ (9891.88) -  
 6- , । ப   ᮪ 祭 㬬 祬 
㣠 ப  6- ,   祭 㬬 = 1309.95.
 ५樮  ">="    " > ",  ப 㤥
⠪ 롨࠭, ⮬   ࠢ ᠬ ᥡ.

筮,   ᯮ짮 ANY  㣮 SQL 孨, ਬ
 孨 쥤.
  㤥 室  浪  祭 㬬 襩 祬
祭  㬬  稪  San Jose.
( 뢮  뢠  㭪 13.7 ):

            SELECT *
               FROM Orders
               WHERE amt < ANY
                   ( SELECT amt
                        FROM Orders A, Customers b
                        WHERE a.cnum = b.cnum
                            AND b.city = " San Jose' );

 ᫨ 訩 冷  ⠡   稪  San Jose,
  ன 訩; ᫥⥫쭮   ப  ࠭.
⮩ ᯮᮡ ,   < ANY  祭 襥 祬 襥 
࠭ 祭,   > ANY  祭 襥 祬 襥 ࠭-
 祭.

               ===============  SQL Execution Log ==============
              |                                                 |
              | SELECT *                                        |
              | FROM  Orders                                    |
              | WHERE amt > ANY                                 |
              | (SELECT amt                                     |
              | FROM Orders                                     |
              | WHERE odate = 10/06/1990);                      |
              | =============================================== |
              |   onum       amt      odate      cnum     snum  |
              |  -----    --------  ----------  -----   ------  |
              |   3002     1900.10  10/03/1990   2007     1004  |
              |   3005     5160.45  10/03/1990   2003     1002  |
              |   3009     1713.23  10/04/1990   2002     1003  |
              |   3008     4723.00  10/05/1990   2006     1001  |
              |   3011     9891.88  10/06/1990   2006     1001  |
                ================================================

㭮 13. 6: ࠭ 祭  祬 (ANY)  6- 



      ANY, ALL,  SOME          157
______________________________________________________________________

               ===============  SQL Execution Log ==============
              |                                                 |
              | WHERE amt > ANY                                 |
              | (SELECT amt                                     |
              | FROM Orders a, Customers b                      |
              | WHERE a.cnum = b.cnum                           |
              | AND b.city = 'San Jose');                       |
              | =============================================== |
              |   onum       amt      odate      cnum     snum  |
              |  -----    --------  ----------  -----   ------  |
              |   3001       18.69  10/03/1990   2008     1007  |
              |   3003      767.10  10/03/1990   2001     1001  |
              |   3002     1900.10  10/03/1990   2007     1004  |
              |   3006     1098.10  10/03/1990   2008     1007  |
              |   3009     1713.23  10/04/1990   2002     1003  |
              |   3007       75.10  10/04/1990   2004     1002  |
              |   3008     4723.00  10/05/1990   2006     1001  |
              |   3010     1309.88  10/06/1990   2004     1002  |
                ================================================

㭮 13. 7:  ᯮ짮 ANY  ꥤ

᪨, 㪠  쬠 宦  ᫥饥 - 
(뢮   㭪 13.8) :

             SELECT *
                 FROM Orders
                 WHERE amt <
                    ( SELECT MAX amt
                        FROM Orders A, Customers b
                        WHERE a.cnum = b.cnum
                             AND b.city = " San Jose' );


               ===============  SQL Execution Log ==============
              |                                                 |
              | WHERE amt <                                     |
              | (SELECT MAX (amt)                               |
              | FROM Orders a, Customers b                      |
              | WHERE a.cnum = b.cnum                           |
              | AND b.city = 'San Jose');                       |
              | =============================================== |
              |   onum       amt      odate      cnum     snum  |
              |  -----    --------  ----------  -----   ------  |
              |   3002     1900.10  10/03/1990   2007     1004  |
              |   3005     5160.45  10/03/1990   2003     1002  |
              |   3009     1713.23  10/04/1990   2002     1003  |
              |   3008     4723.00  10/05/1990   2006     1001  |
              |   3011     9891.88  10/06/1990   2006     1001  |
                ================================================

㭮 13.8: ᯮ짮 ॣ⭮ 㭪樨  ANY



    158            SQL         
______________________________________________________________________
           . 13

=========   ALL ==========

  ALL, ।  , ᫨  祭 ࠭-
 ᮬ 㤮⢮ ᫮  । 譥 .
᫨  ⨬ ᬮ  ।騩 ਬ ⮡ 뢥 ⮫-
  稪  業, 䠪᪨,  祬   稪  
ਦ,    ᫥饥 ⮡ ந 뢮  
 㭪 13.9:

             SELECT *
                FROM Customers
                WHERE rating > ALL
                    (SELECT rating
                        FROM Customers
                        WHERE city = Rome ):


               ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers                               |
              | WHERE rating > ALL                            |
              | (SELECT rating                                |
              | FROM Customers                                |
              | WHERE city = 'Rome');                         |
              | ============================================= |
              |   cnum     cname     city     rating   snum   |
              |  -----    --------   ----     ------  ------  |
              |   2004    Grass      Berlin      300    1002  |
              |   2008    Cisneros   San Jose    300    1007  |
                =============================================

㭮 13.9: ᯮ짮  ALL



       ANY, ALL,  SOME          159
______________________________________________________________________


  ஢ 祭 業  稪  . ⥬ 
 室 稪  業 襩 祬    稪  
.  ᮪ 業   -  Giovanni( 200 ). ⥫쭮, 
롨 ⮫쪮 祭   200.

   砥  ANY,   ᯮ짮 EXISTS  ந⢠ 
ୠ⨢ 㫨஢ ⠪   -
( 뢮   㭪 13.10 ):

          SELECT *
             FROM Customers outer
             WHERE NOT EXISTS
                ( SELECT *
                   FROM Customers inner
                   WHERE outer.rating < = inner.rating
                   AND inner.city = 'Rome' );


               ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers outer                         |
              | WHERE NOT EXISTS                              |
              | (SELECT *                                     |
              | FROM Customers inner                          |
              | WHERE outer rating = inner.rating             |
              | AND inner.city = 'Rome');                     |
              | ============================================= |
              |   cnum     cname     city     rating   snum   |
              |  -----    --------   ----     ------  ------  |
              |   2004    Grass      Berlin      300    1002  |
              |   2008    Cisneros   San Jose    300    1007  |
                =============================================

 㭮 13.10:  ᯮ짮 EXISTS  ⢥ ୠ⨢  ALL



     160            SQL         
______________________________________________________________________
           . 13

  

ALL ᯮ  ᭮  ࠢ⢠ 祬  ࠢ⢠, ⠪  
祭   "ࠢ  " १⮬  ⮫쪮 
᫨  १, 䠪᪨, . 
ᬮ ᫥騩 :

              SELECT *
                 FROM Customers
                 WHERE rating = ALL
                    ( SELECT rating
                        FROM Customers
                        WHERE city = " San Jose' );

  ⨬,  , c ⨬ 묨,   稬  
뢮. 쪮  ⢥ 砥 뢮 㤥 뤠 ⨬ ᮬ - 
᫨  祭 業  San Jose  묨.  ⮬ 砥, 
 ᪠ ᫥饥 :

              SELECT *
                 FROM Customers
                 WHERE rating =
                      ( SELECT DISTINCT rating
                         FROM Customers
                         WHERE city = " San Jose' );

᭮ ࠧ稥  ⮬,   ᫥   ௥ 
㤠 ᫨  뢥  祭,   ६  ਠ 
 ALL     뢮.  饬,  ᠬ 㤠筠  
ᯮ짮   ࠡ ⮫쪮  ।  
 ⮩.      㤥 ﭭ ,  
㤠 ᯮᮡ, ⮡ 㧭   ᮤঠ.
, ALL   䥪⨢ ᯮ짮  ࠢ⢠, 
  ஬ "< >".    ᪠  SQL  - 祭 
஥  ࠢ ᥬ १⠬ , - 㤥 ⫨  
⮣   ᪠  ⮬ ࠬ⨪ ᪮ 몠.
祢, ᫨   頥  ࠧ 祭,   
筮 뢠,   ⤥쭮 祭    ࠢ  ᥬ  
筮 ᫥.  SQL, ࠦ - < > ALL -  ⢨⥫쭮 -
⢥ "  ࠢ  " १ . 㣨 ᫮, 
। ७, ᫨  祭   । १⮢ -
. ⥫쭮,  ।騩 ਬ ⨢   -
 ਬ ( 뢮   㭪 13.11):



       ANY, ALL,  SOME         161
______________________________________________________________________


          SELECT *
             FROM Customers
             WHERE rating < > ALL
             ( SELECT rating
                  FROM Customers
                  WHERE city = " San Jose' );


               ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers                               |
              | WHERE rating < > ALL                          |
              | (SELECT rating                                |
              | FROM Customers                                |
              | WHERE city = 'San Jose');                     |
              | ============================================= |
              |   cnum     cname     city     rating   snum   |
              |  -----    --------   ----     ------  ------  |
              |   2001    Hoffman    London      100    1001  |
              |   2006    Clemens    London      100    1001  |
              |   2007    Pereira    Rome        100    1004  |
                =============================================

㭮 13.11: ᯮ짮 ALL  < >

㯮  롥ࠥ  業  த San Jose.
 뢮    祭: 200 (  Liu )  300 ( Cisneros).
⥬, ᭮ , 롨ࠥ  ப,  業  ᮢ饩
     - 㣨 ᫮  ப  業 100.  
㫨஢   ᠬ  ᯮ  NOT IN:

                 SELECT*
                    FROM Customers
                    WHERE rating NOT IN
                        ( SELECT rating
                            FROM Customers
                            WHERE city = " San Jose' );


   ⠪ ᯮ짮  ANY:



     162           SQL          
______________________________________________________________________
            . 13

          SELECT *
             FROM Customers
             WHERE NOT rating = ANY
                  ( SELECT rating
                       FROM Customers
                       WHERE city = " San Jose' );

뢮 㤥     ᫮.

  ANY  ALL

 SQL, ᪠  - 祭 (   ) 祬 (ANY)  -
 祭 - ⮦ ᠬ  ᪠,   (   ) 祬 
  ⤥쭮   祭.  , ᪠  祭 
 ࠢ ᥬ(ALL)  祭, ⮦  ᪠,   ⠪ -
祭   ஬  ࠢ.


         ANY, ALL,  EXIST 
=======                =======
              

 뫮 ᪠,   ࠧ  EXISTS  -
ࠬ ।⠢묨  ⮩  ⭮⥫쭮 ⮣   ࠡ뢠-
  NULL.  ANY  ALL ⠪ ⫨   㣠 ⥬  
 ॠ ᫨   ந  祭 ⮡ ᯮ-
   ࠢ.  ࠧ  ਢ  । -
⠬    ᫨   㤥  뢠.


   

 ⥫쭮 ࠧ稥  ALL  ANY - ᯮᮡ ⢨  c樨 
   頥  祭.  ਭ樯, 直 ࠧ, -
 ⨬    ﭨ ᤥ 뢮, ALL - ⮬᪨ 
७,  ANY ⮬᪨ ࠢ.  砥,  ᫥騩 

            SELECT *
               FROM Customers
               WHERE rating > ANY
                  ( SELECT rating
                      FROM Customers
                      WHERE city = Boston );



        ANY, ALL,  SOME        163
______________________________________________________________________


 ந  뢮,   ६   -

               SELECT
                  FROM Customers
                  WHERE rating > ALL
                     ( SELECT rating
                          FROM Customers
                          WHERE city = 'Boston' );

뢥  ⠡ 稪.    稪  Boston, 
⢥,     ࠢ   祭.


ANY  ALL  EXISTS 
  ( NULL )

祭 NULL ⠪   ஡  ࠬ -
 .  SQL ࠢ  祭  ।,   -
 ⮥ (NULL),  १ ⥭ ( ᬮ  5 ).
 ।,  ୮   稭 ⮣  
ப  롨ࠥ,  ࠡ  㤥    宦 
,  ᨬ  ⮣, ᯮ  ALL  ANY  
EXISTS. ᬮਬ  ।騩 ਬ:

             SELECT *
                FROM Customers
                WHERE rating > ANY
                    ( SELECT rating
                        FROM Customers
                        WHERE city = 'Rome' );

     ਬ:

           SELECT *
              FROM Customers outer
              WHERE EXISTS
                 ( SELECT *
                     FROM Customers inner
                     WHERE outer.rating > inner.rating
                     AND inner.city = 'Rome' );



     164           SQL          
______________________________________________________________________
           . 13

 饬,      ᥡ .  ।,
  ⮥(NULL) 祭  ⮫ rating ⠡ 稪:


  CNUM        CNAME        CITY        RATING        SNUM

   2003         Liu          SanJose      NULL        1002


  ਠ  ANY,  業 Liu ࠭ ᭮ ᮬ, -
 NULL  ।   ப Liu  롨ࠥ
 뢮. ,  ਠ  NOT EXISTS   ப -
 ᭮ ᮬ, 祭 NULL ᯮ  । -
,      砥.  砥  -
  㤥 ந  祭,  EXISTS 㤥 -
. , ⢥,   NOT EXISTS . -
⥫쭮, ப Liu 㤥 ࠭  뢮.   ᭮ 宦-
,  ⫨稥  㣨 ⨯ ।⮢,  祭 EXISTS -
ᨬ  ⮣ ୮    - ᥣ ⭮.
   㬥⮬   ᯮ짮 ਠ 㫨-
஢  ANY.
  ⠥  祭 NULL   祬 ⨬ -
.  ⮣, १ 㤥  , ᫨  㤥 ஢  
  祭.


 COUNT  EXISTS

ભ,   㫨஢  ANY  ALL    筮 
믮  EXISTS,   ६   㤥 ୮.   ⮬ 
砥, ⠪ ୮    EXISTS  NOT EXISTS   
뢠  믮   ᠬ ᮢ  COUNT(*)
 । SELECT . ᫨  祬  ப 뢮
㤥 ⠭,  ⭮ EXISTS;  ⨢ 砥  ࠡ-
⠥ ⠪  NOT EXISTS. 饥  ⮬ ਬ஬ (뢮  
뢠  㭪 13.12 ):



         ANY, ALL,  SOMI:      165
______________________________________________________________________


              SELECT *
                 FROM Customers outer
                 WHERE NOT EXISTS
                     ( SELECT *
                         FROM Customers inner
                         WHERE outer.rating < = inner.rating
                           AND inner.city = 'Rome' );


               ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers outer                         |
              | WHERE NOT EXISTS                              |
              | (SELECT *                                     |
              | FROM Customers inner                          |
              | WHERE outer.rating <= inner.rating            |
              | AND inner.city = 'Rome');                     |
              | ============================================= |
              |   cnum     cname     city     rating   snum   |
              |  -----    --------   ----     ------  ------  |
              |   2004    Grass      Berlin      300    1002  |
              |   2008    Cisneros   San Jose    300    1007  |
                =============================================

㭮 13.12: ᯮ짮 EXISTS  ᮮ⭥ᥭ ᮬ


  ⠪  믮 

            SELECT *
               FROM Customers outer
               WHERE 1 >
                   ( SELECT COUNT (*)
                        FROM Customers inner
                        WHERE outer.rating < = inner.rating
                           AND inner.city = 'Rome' );

뢮  ⮬  뢠  㭪 13.13.
  稭  ᪮쪮 ᯮᮡ   SQL. ᫨ 
   ᪮쪮 ⠭  ⮩ ⠤,  稭 -
.  砥 ⮡ ᯮ짮  孨   ᥣ
⢥砥 訬 ॡ   ⭠  .
稭  ⮣ ,  ⨬   讥 ⢮ -
⥩,       ᮡ⢥ ⨫.



     166          SQL         
______________________________________________________________________
                                                                . 13

               ===============  SQL Execution Log ============
              |                                               |
              | SELECT *                                      |
              | FROM  Customers outer                         |
              | WHERE 1 >                                     |
              | (SELECT COUNT (*)                             |
              | FROM Customers inner                          |
              | WHERE outer.rating <= inner.rating            |
              | AND inner.city = 'Rome');                     |
              | ============================================= |
              |   cnum     cname     city     rating   snum   |
              |  -----    --------   ----     ------  ------  |
              |   2004    Grass      Berlin      300    1002  |
              |   2008    Cisneros   San Jose    300    1007  |
                =============================================

㭮 13.13: ᯮ짮 COUNT  EXISTS


==============    ================

⠪,  諨  祣  ⮩ .    ⥬,
  ⨫  ६ ⮡   ࠧ  -
筮.  祬  ⥯ 稫,  筮 㡮.
  ᪮쪮 孨᪨ 襭  ஡,  ⮬ 
   ஥  室 訬 楫. ஬ ⮣, 
﫨,  ࠧ 㫨஢ 㤥 ࠡ뢠  祭 
(NULL)  訡.

,    稫 ,  ,  ⭮ 
 ᫮, ᯥ SQL, ꥬ 㣮 ਠ 㤥 ⭮⥫쭮 
  .

      ,     ꥤ
뢮  ᫠ ᮢ   ⥫,   ନ஢
ꥤ ᫥ ᮢ ᯮ  UNION.



          ANY, ALL, SOME         167
______________________________________________________________________


**************   SQL **************

1.     롨ࠫ  稪  業
   ࠢ   祬 ( ANY ) 業 稪 Serres.

2.  㤥 뢥 㯮⮩ ?

3.   ᯮ騩 ANY  ALL,   室 
   த殢     稪 ࠧ饭  
   த.

4.     롨ࠫ  浪  㬬  祬
    (  筮 ᫥ )  稪  .

5.  ।騩   ᯮ짮 - MAX.

( . ਫ A  ⢥⮢. )





                                                                                 14




   UNION




       170           SQL            
______________________________________________________________________
             . 14

  ,  
ࠧ ᯮᮡ 묨      
㣮.  㣮 ᯮᮡ ꥤ ᫥ ᮢ
 - - ନ஢   ꥤ.
 ⮩ ,   ᯮ짮 । UNION  SQL.
UNION ⫨砥  ᮢ ⥬       
(   ) ᮢ  ࠢ 㣨 ᮬ.   
믮 ᨬ   㣠,  㦥 뢮  - 쥤.


=====    =======
                      

   ᫥    ꥤ  뢮
ᯮ । UNION. । UNION 쥤 뢮 
  SQL ᮢ    ப  ⮫殢. ਬ ⮡ 
  த殢  稪 ࠧ饭    뢥 
  楫    :

                  SELECT snum, sname
                     FROM Salespeople
                     WHERE city = 'London'

                     UNION

                  SELECT cnum, cname
                     FROM Customers
                     WHERE city = 'London';

  뢮   㭪 14.1.

   , ⮫ ࠭   뢥 ⠪
 ᫨  뫠 .  ⮫ ᪫祭, ⮬   
 ⮫殢 뢥 ꥤ,   祭 ।⢥ 
 ⮫쪮  ⠡. ⥫쭮   ⮫ 뢮   
  ( ᬮ  7 㦤 뢮 ⮫殢 ).
   ஬ ⮣  ,  ⮫쪮 ᫥  稢-
 窮  ⮩.
⢨ 窨  ⮩   SQL ,      -
 ᮢ.



                UNION             171
______________________________________________________________________


                ===============  SQL Execution Log ============
               |                                               |
               | SELECT snum, sname                            |
               | FROM  Salespeople                             |
               | WHERE city = 'London'                         |
               | UNION                                         |
               | SELECT cnum, cname                            |
               | FROM Customers                                |
               | WHERE city = 'London';                        |
               | ============================================= |
               |                                               |
               |  -----    --------                            |
               |   1001    Peel                                |
               |   1004    Motika                              |
               |   2001    Hoffman                             |
               |   2006    Climens                             |
               |                                               |
                 =============================================

㭮 14.1: ନ஢ ꥤ   ᮢ


    
   ?

  (   )  ࣠ ꥤ,  ⮫ 
뢮   ᮢ⨬  ꥤ.  砥,   
  㪠뢠  ᫮ ⮫殢   ⮬  浪   
, ன, ⨩,  ⠪ ,     ⨯, ᮢ⨬ 
 . 祭 ᮢ⨬ ⨯ - . ANSI ᫥  ⨬ 
祭 ண  ⮬ ᫮     ᫮ ⨯ 
 ࠧ,    ஫㥬 ANSI   ⨯  - 
ᨭ. (  ਫ B  ஡⥩  ANSI ᫮ 
⨯. )
஬ ⮣, ᨬ     ᫮ ᨬ ( -
祭 ।筠祭 ,  易⥫쭮 ⠪   ᯮ㥬 
 ).
,   SQL ணࠬ  襩  祬  
। ANSI.   । ANSI, ⠪  DATA  BINARY, 
筮  ᮢ  㣨 ⮫栬 ⠪  ⠭⭮ ⨯.
 ப ⠪   ஡. 設⢮ ணࠬ ࠧ 
 ६ ,    易⥫쭮  ᯮ짮  UNION.
 㣮 ஭,  ணࠬ ( ANSI ⮦) ॡ ⮡ ᨬ- 



     172          SQL             
______________________________________________________________________
          . 14

  뫨 筮 ࠢ .      ப-
஢  㬥樥 襩 ᮡ⢥ ணࠬ.
  㣮 ࠭祭  ᮢ⨬ -    祭(NULL) 
饭   ⮫ ꥤ, 祬  祭 室 
    ᮮ⢥ ⮫殢  㣨  ꥤ.
 祭(NULL) 饭  ࠭祭 NOT NULL, ஥ 㤥
㦤   18. ஬ ⮣,    ᯮ짮 UNION  -
,  ⠪   ᯮ짮 ॣ 㭪樨  ।-
 SELECT   ꥤ. ( 設⢮ ணࠬ ७ॣ 
⨬ ࠭祭ﬨ. )


UNION   

UNION 㤥 ⮬᪨ ᪫ 㡫 ப  뢮.
  ᢮⢥  SQL, ⠪    筮 ᮤ-
 DISTINCT ⮡ ࠭ 㡫. ਬ , 祩 뢮 -
뢠  㭪 14.2,

                 SELECT snum, city
                    FROM Customers;

   祭 ( snum=1001, city=London ), ⮬  
  㪠, ⮡ SQL ࠭ 㡫. , ᫨  ᯮ㥬


                ===============  SQL Execution Log ============
               |                                               |
               | SELECT snum, city                             |
               | FROM Customers;                               |
               | ============================================= |
               |  snum     city                                |
               |  -----    --------                            |
               |   1001    London                              |
               |   1003    Rome                                |
               |   1002    San Jose                            |
               |   1002    Berlin                              |
               |   1001    London                              |
               |   1004    Rome                                |
               |   1007    San Jose                            |
               |                                               |
                 =============================================

㭮 14.2:    㡫஢ 뢮



                 UNION              173
______________________________________________________________________

UNION  樨 ⮣      ⠡ த殢, 
  筠  㤥 ࠭.
㭮 14.3  뢠 뢮 ᫥饣 .

             SELECT snum, city
                FROM Customers

                UNION

             SELECT snum, city
                FROM Salespeople.;


                ===============  SQL Execution Log ============
               |                                               |
               | FROM Customers                                |
               | UNION                                         |
               | SELECT snum, sity                             |
               | FROM Salespeople;                             |
               | ============================================= |
               |                                               |
               |  -----    --------                            |
               |   1001    London                              |
               |   1002    Berlin                              |
               |   1007    San Jose                            |
               |   1007    New York                            |
               |   1003    Rome                                |
               |   1001    London                              |
               |   1003    Rome                                |
               |   1002    Barcelona                           |
               |   1007    San Jose                            |
               |                                               |
                -----------------------------------------------

㭮 14.3: UNION ࠭  뢮

    宦 (   ணࠬ SQL, ᯮ 
UNION ALL   UNION,  ⮣:

             SELECT snum, city
                FROM Customers

                UNION ALL

             SELECT snum, city
                FROM Salespeople;



        174            SQL        
______________________________________________________________________
               . 14


     UNION

,   ⠢ ⠭  ࠦ  ।
SELECT ᯮ㥬  UNION.   ᫥ ண 㪠 ANSI,
    筮 ᯮ㥬 . ⠭ 
ࠦ   ᯮ,   ᮢ⨬
⠭   뤥﫨 ࠭.
 ᢮⢮ , ਬ, ⮡ ⠭ ਨ 㪠-
뢠騥   뢥  ப.
।    ᤥ   ⮬,  த -
 訥  訥 浪  ⠬.
  ꥤ  , ⠢ 㤠 ⥪ ⮡ ࠧ 
뢮    .

     SELECT a.snum, sname, onum, 'Highest on', odate
        FROM (Salespeople a, Orders b
        WHERE a.snum = b.snum
        AND b.amt =
          ( SELECT MAX (amt)
               FROM Orders c
               WHERE c.odate = b.odate )

        UNION

     SELECT a.snum, (sname, (onum ' Lowest on', odate
        FROM ( Salespeople a, Orders b
        WHERE a.snum = b.snum
        AND b.amt =
           ( SELECT  MIN (amt)
                FROM Orders c
                WHERE c.odate = b.odate );

뢮  ⮩   뢠  㭪 14.4.

  뫨  ⥫ ஡  ப 'Lowest on',
⮡ ᤥ  ᮢ饩    ப 'Highest on'.
   Peel ࠭  稨  ᠬ ᮪
 ᠬ  ( 䠪᪨  ⢥ ) 浪  5 .
  ⠢塞 ப   ᮢ ࠧ, ப  
 ࠭  㡫.



            UNION                 175
______________________________________________________________________



                ===============  SQL Execution Log ============
               |                                               |
               | AND b.amt =                                   |
               | ( SELECT min (amt)                            |
               | FROM Orders c                                 |
               | WHERE c.odate = b.odate);                     |
               | ============================================= |
               |                                               |
               | -----  ------- ------  ---------- ----------- |
               |  1001  Peel     3008   Highest on  10/05/1990 |
               |  1001  Peel     3008   Lowest  on  10/05/1990 |
               |  1001  Peel     3011   Highest on  10/06/1990 |
               |  1002  Serres   3005   Highest on  10/03/1990 |
               |  1002  Serres   3007   Lowest  on  10/04/1990 |
               |  1002  Serres   3010   Lowest  on  10/06/1990 |
               |  1003  Axelrod  3009   Highest on  10/04/1990 |
               |  1007  Rifkin   3001   Lowest  on  10/03/1990 |
                ===============================================


㭮 14.4: 롮    浪, ।塞 
                     ப


===== UNION  ORDER BY =====

  ,   ਢ   ᫥ ᮢ  
뢮    ᮡ 浪.   뢠 뢮 ᭠-
砫     ⥬  㣮. 筮,    -
  뢮 室騩  ந쭮 浪.   ࠧ ᤥ 
⠪ ⮡  ᯮᮡ  믮 ਬ஢   .  
, ᯮ짮 । ORDER BY ⮡ 㯮冷 뢮 
 ꥤ, 筮 ⠪      㠫 . 
 ᬮਬ  ᫥ ਬ ⮡ 㯮冷   
  浪 ஢.    ⨢稥, ⠪ 
 ७  Peel  ᫥ ,   ᬮ 㢨 
 뢮   㭪 14.5.



      176            SQL               
______________________________________________________________________
            . 14

        SELECT a.snum, sname, onum, 'Highest on', odate
           FROM Salespeople a, Orders b
           WHERE a.snum = b.snum
           AND b.amt =
             ( SELECT MAX (amt)
                  FROM Orders c
                  WHERE c.odate = b.odate )

           UNION

       SELECT a.snum, (sname, (onum, 'Lowest on', odat
           FROM Salespeople a, Orders b
           WHEREa.snum = b.snum
           AND b.amt =
              ( SELECT MIN (amt)
                   FROM Orders c
                   WHERE c.odate = b.odate )

       ORDER BY 3;

                ===============  SQL Execution Log ============
               | ( SELECT min (amt)                            |
               | FROM Orders c                                 |
               | WHERE c.odate = b.odate)                      |
               | ORDER BY 3;                                   |
               | ============================================= |
               |                                               |
               | -----  ------- ------  ---------- ----------- |
               |  1007  Rifkin   3001   Lowest  on  10/03/1990 |
               |  1002  Serres   3005   Highest on  10/03/1990 |
               |  1002  Serres   3007   Lowest  on  10/04/1990 |
               |  1001  Peel     3008   Highest on  10/05/1990 |
               |  1001  Peel     3008   Lowest  on  10/05/1990 |
               |  1003  Axelrod  3009   Highest on  10/04/1990 |
               |  1002  Serres   3010   Lowest  on  10/06/1990 |
               |  1001  Peel     3011   Highest on  10/06/1990 |
                ===============================================
㭮 14.5: ନ஢ ꥤ  ᯮ짮 ORDER BY

 ORDER BY ᯮ  㬮砭,     㪠뢠.  
 㯮冷  뢮   ᪮쪨 ,   㣮 
 㪠 ASC  DESC  , 筮 ⠪      -
 ᮢ. ,   3  । ORDER BY 㪠뢠  
⮫  । SELECT 㤥 㯮冷祭.   ⮫ ꥤ - 
 ⮫ 뢮,    ,  ᫥⥫쭮,  । 
 .    㪠뢠    । 㣨 ⮫殢 뢮. 
(   7 㦤 ⮫ 뢮.) 


              UNION             177
______________________________________________________________________


 

  뢠   -  ꥤ   -
ᮢ  ஬ ன  롨ࠥ ப, ᪫祭 .
 ,  㤥  , ⠪ ⮡  ᪫ ப 
  㤮⢮ਫ ।  ꥤ ⠡. 
뢠 - 譨 쥤.
।     稪   뫨 -
  த栬.    㢨   த  
稪,    த殢,  뢠      
祭.    ⮣, ନ ꥤ   -
ᮢ,    믮 쥤,  㣮 롨ࠥ -
稪  묨(NULL) 祭ﬨ  snum.  ᫥  
 ⠢ ஡   ᮮ⢥騥  sname  ࢮ 
.
  ࠭,   ⠢ ⥪⮢ ப   뢮 ⮡ 
஢   뢥  ப.
ᯮ짮 ⮩ ⮤  譥 쥤,   
ᯮ짮 ।  䨪樨,    ᪫祭.
   ᯮ짮 ਬ 宦 த殢  稪 ࠧ-
饭묨   த  ࠭.    롮 ⮫쪮 
 ப,    ⮡  뢮   -
殢,  㪠뢠 ,    稪   த,   . 
騩 , 祩 뢮  뢠  㭪 14.6, 믮 :

             SELECT Salespeople.snum, sname, cname, comm
                FROM (Salespeople, Customers
                WHERE Salespeople.city = Customers.city.

                UNION

             SELECT snum, sname, ' NO MATCH    ', comm
                FROM (Salespeople
                WHERE NOT city = ANY
                   ( SELECT city
                        FROM Customers )

                ORDER BY 2 DESC;



     178           SQL        
______________________________________________________________________
           . 14

                ===============  SQL Execution Log ============
               |                                               |
               | FROM Salespeople                              |
               | WHERE NOT city = ANYate)                      |
               | ( SELECT city                                 |
               | FROM Customers)                               |
               | ORDER BY 2 DESC;                              |
               | ============================================= |
               |                                               |
               | -----  -------  ---------     ------------    |
               |  1002  Serres   Cisneros           0.1300     |
               |  1002  Serres   Liu                0.1300     |
               |  1007  Rifkin   NO MATCH           0.1500     |
               |  1001  Peel     Clemens            0.1200     |
               |  1001  Peel     Hoffman            0.1200     |
               |  1004  Motika   Clemens            0.1100     |
               |  1004  Motika   Hoffman            0.1100     |
               |  1003  Axelrod  NO MATCH           0.1000     |
               |                                               |
                ===============================================


㭮 14. 6: 譥 쥤

ப ' NO MATCH ' 뫠  ஡, ⮡  ᮢ-
  cname   (   易⥫쭮   ॠ SQL ). 
ன  롨ࠥ   ப  ᪫稫 .
  ⠪  ਩  ࠦ  襬 , 
 ⥫쭮 . ᫨  ᤥ ,  㤥  -
  ⥫ ਩  ࠦ,  ⮩  -
 樨 । ࠭ ,     樨 -
. ⨬ UNION ।頥    -
⥫쭮   ࢮ ,    ண.   -
  ப  ࠭ ,  㪠뢠 ᮢ   -
 த   稪   த:

          SELECT a.snum, sname, a.city, ' MATCHED '
             FROM Salespeople a, Customers b
             WHERE a.city = b.city

             UNION

          SELECT snum, sname, city, 'NO MATCH'
             FROM Salespeople
             WHERE NOT city = ANY
                ( SELECT city
                    FROM Customers )

             ORDER BY 2 DESC;



              UNION             179
______________________________________________________________________


㭮 14,7  뢠 뢮 ⮣ .


                ===============  SQL Execution Log ============
               |                                               |
               | WHERE a.city = b.city                         |    
               | UNION                                         |   
               | SELECT snum,sname,city, 'NO MATCH'            |
               | FROM Salespeople                              |
               | WHERE NOT city = ANYate)                      |
               | ( SELECT city                                 |
               | FROM Customers)                               |
               | ORDER BY 2 DESC;                              |
               | ============================================= |
               |                                               |
               | -----  -------   ------------  ---------      |
               |  1002  Serres     San Jose     MATCHED        |
               |  1007  Rifkin     Barselona    NO MATCH       |
               |  1001  Peel       London       MATCHED        |
               |  1004  Motika     London       MATCHED        |
               |  1003  Axelrod    New York     NO MATCH       |
               |                                               |
                ===============================================


㭮 14. 7: 譥 쥤   


   譥 ꥤ, ⠪   砥 ⮫쪮 ᮢ-
騥    ꥤ塞 ⠡.    譥 -
    稪     -
殢   த. 
 ᫮ 㤥  ,    ᬮ 㢨 (뢮
᫥饣    㭪 14,8 ) :


      SELECT snum, city, 'SALESPERSON - MATCH'
         FROM Salespeople
         WHERE NOT city = ANY
           (SELECT city
                FROM Customers)

         UNION


     180         SQL    
______________________________________________________________________
          . 14

      SELECT snum, city, 'SALESPERSON - NO MATCH'
         FROM Salespeople
         WHERE NOT city = ANY
           (SELECT city
                FROM Customers))

         UNION

      (SELECT cnum, city, 'CUSTOMER - MATCHED'
         FROM Customers
         WHERE city = ANY
            (SELECT city
                 FROM Salespeople)

         UNION

      SELECT cnum, city, 'CUSTOMER - NO MATCH'
         FROM Customers
         WHERE NOT city = ANY
           (SELECT city
               FROM Salespeople))

         ORDER BY 2 DESC;


           ===============  SQL Execution Log ===============
          |                                                  |
          | FROM  Salespeople)                               |
          | ORDER BY 2 DESC;                                 |
          |                                                  |
          | ================================================ |
          |                                                  |
          |  ----   --------     ------------------------    |
          |  2003   San Jose     CUSTOMER     -   MATCHED    |
          |  2008   San Jose     CUSTOMER     -   MATCHED    |
          |  2002   Rome         CUSTOMER     -   NO MATCH   |
          |  2007   Rome         CUSTOMER     -   NO MATCH   |
          |  1003   New York     SALESPERSON  -   MATCHED    |
          |  1003   New York     SALESPERSON  -   NO MATCH   |
          |  2001   London       CUSTOMER     -   MATCHED    |
          |  2006   London       CUSTOMER     -   MATCHED    |
          |  2004   Berlin       CUSTOMER     -   NO MATCH   |
          |  1007   Barcelona    SALESPERSON  -   MATCHED    |
          |  1007   Barcelona    SALESPERSON  -   NO MATCH   |
          |                                                  |
           ==================================================

㭮 1.8:  譥 쥤



                                          181
______________________________________________________________________


( ⭮,   㫠 ᯮ ANY - ⭠ 쥤-
  ।饬 ਬ. )
饭 譥 쥤  ண  稭, ᯮ-
  祬  ᫥ ਬ.
 ਬ, ,  㣮 . 直 ࠧ,   믮-
 ꥤ  祬  ᮢ,   ᯮ짮 -
 ᪮ ⮡ । 冷 業. 㣨 ᫮,  
 -

            query X UNION query Y UNION query Z;

  㪠, 


           ( query X UNION query Y )UNION query Z;



            query X UNION ( query Y UNION query Z );

 ⮬,  UNION  UNION ALL   ᪮஢, ⮡ 
㤠  㡫,  㤠 㣨.  । -

           ( query X UNION ALL query Y )UNION query Z;

 易⥫쭮 ந   १  । -

            query X UNION ALL( query Y UNION query Z );

᫨  ப  ,  㤠.


===============    =================

      ᯮ짮 । UNION, ஥  
 ꥤ  ᫮ ᮢ   ⥫ 뢮.
᫨     ⠡ - ⠡, ᮤঠ 宦 -
ଠ,  ਭ ࠧ 짮⥫  墠뢠
ࠧ ᮡ,  -  ꥤ ᬮ ᯥ
⮩ ᯮᮡ  ᫨ﭨ  㯮冷稢 뢮. 筮, -
 쥤    ᯮᮡ ᯮ짮 ᫮,  



      182           SQL       
______________________________________________________________________
            . 14


᪫祭 뢮,    ન஢  ࠡ⪨  ⥩, -
 砥 ᫮ ⫨饥  ⮣, ஥  믮.

⨬ 稢    .  ⥯  쭮
 ।⠢  ᪥   SQL. 騩 蠣 
 ,  祭   ⠡   ⠡ ᮧ
 ᠬ 砫.   㢨,   ᯮ 
㣨 ⨯ , ⠪    ᠬ  ᥡ.




                          UNION           183
______________________________________________________________________



***************   SQL *************

1.  ꥤ   ᮢ ஥   ,
   த,  業  稪.       
   rating=200  ,  ஬ ⮣  ᫮ - " ᮪
   ⨭ ",  ⠫   ᫮ "  ⨭ ".

2.     뢥     -
      稪    祬  ⥪騩 
   冷.    ।⠢  䠢⭮ 浪.

3. ନ ꥤ   ᮢ.  롨ࠥ 
   snum  த殢  San Jose; ன,  cnum  稪 
   San Jose;  ⨩  onum  浪  3 .
   ࠭ 㡫  ᫥  ᠬ,  -
     筮 뢮      ᠬ -
   .  ( ਬ砭:   ⨯ ⠡,  ᮤন -
    筮.  ⮫쪮 ਬ. )

( . ਫ A  ⢥⮢. )





                                                                               15




                ,   

                             




     186            SQL   
______________________________________________________________________
          . 15                                                       

     
ࠢ 祭ﬨ ।⠢塞묨  ⠡.    
 ,  㤥 ᯮᮡ  ப  ⠡, 㤠 ,   
 㠫 祭 ।⠢   ப.
  㤥  ᯮ짮 ᮢ  ନ஢  -
 ப  ⠢,  ⠪,   ᯮ짮 ।  
ࠢ  祭  㤠 ப. ਠ  ⮩ -
 ⠢  ꥬ  뢠騩,  ᮧ  -
ࠢ ଠ樥   .
    ᯮᮡ ஥஢ ।⮢  㦤 
 ᫥饩 .


==     DML  ==

祭   饭  㤠  , ६  
몠 DML (  㫨஢ 묨 ):

 INSERT  (), 
 UPDATE (),  
 DELETE  ().

 頩,   㯮 ࠭  SQL,   
 䨪樨. 


============     ===============

 ப  SQL   ᯮ짮  䨪樨 
INSERT.  ᠬ ⮩ ଥ, INSERT ᯮ ᫥騩 ᨭ⠪:

        INSERT INTO <table name>
           VALUES ( <value>, <value> . . .);

, ਬ, ⮡  ப  ⠡ த殢,   -
짮 ᫥饥 ᫮:

        INSERT INTO Salespeople
            VALUES (1001, 'Peel', 'London', .12);

 DML  ந  뢮,   ணࠬ 
  ஥ ⢥ত ⮣   뫨 ᯮ짮.



                  , ,          187
______________________________________________________________________


 ⠡ (  襬 砥 - Salespeople (த)),   
।⥫쭮 ।,   CREATE TABLE ( .  17 ), 
  祭 ஭㬥஢  । 祭,  
ᮢ  ⨯  ⮫,    ⠢.  ANSI, 
 祭   ⠢ ࠦ,  砥  3 -  
㯭,   ࠦ 2 + 1 - . 祭, 筮 ,   
⠡   浪, ⮬ ࢮ 祭  , 
⮬᪬   ⮫ 1, ஥  ⮫ 2,  ⠪ .


   (NULL)

᫨  㦭  ⮥ 祭(NULL),    筮 ⠪-
   筮 祭. ।,      city 
  Peel.   ⠢  ப  祭=NULL 
  , ᫥騬 ࠧ:

       INSERT INTO Salespeople
          VALUES (1001, 'Peel', NULL, .12);

  祭 NULL -  ᯥ樠 થ,    ᨬ쭮 
祭,      窨.


    (INSERT)

   ⠪ 㪠뢠 ⮫, 㤠   ⠢ 祭
.    ⠢    浪.
।    祭  ⠡ 稪   
뢮  ਭ,  頥   ⠪ 浪:
city, cname,  cnum,   饭,    祭 
⮬  浪:

          INSERT INTO Customers (city, cnam, cnum)
             VALUES ('London', 'Honman', 2001);

   ⮫ rating  snum - .  , 
  ப ⮬᪨ ⠭  祭 -  㬮砭. 
 㬮砭     祭 NULL  㣮 -
 ।塞  -  㬮砭. ᫨ ࠭祭 頥 -
짮 祭 NULL   ⮫,   ⮫  ⠭-
   㬮砭,  ⮫   ᯥ祭 祭



    188          SQL    
______________________________________________________________________
         . 15

    INSERT  ⭮  ⠡( ᬮ  18 
 ଠ樨  ࠭祭  NULL   " 㬮砭" ).


  

    ⠪ ᯮ짮  INSERT ⮡   -
 祭   ⠡     , ⮡ ᯮ-
    ᮬ. ⮡ ᤥ ,    -
 VALUES ( ।饣 ਬ)  ᮮ⢥騩 : 

            INSERT INTO Londonstaff
               SELECT *
                  FROM Salespeople
                  WHERE city = 'London';

 롨  祭 ந ᮬ - -  
ப  ⠡ த殢  祭ﬨ city = "London" -  -
  ⠡ 뢠 Londonstaff. ⮡  ࠡ⠫, ⠡ 
Londonstaff   ⢥ ᫥騬 ᫮:

*    㦥  ᮧ  CREATE TABLE.

*      ⮫  ᮢ  ⠡楩
   த殢  ନ ⨯ ; - , ன,  ⠪
   , ⮫  ⠡,    ⨯
    ( 祬       ).

饥 ࠢ ,  ⠫塞 ⮫ ⠡,  ᮢ 
 ⮫栬 뢮묨 ᮬ,   砥,  ᥩ ⠡-
 த殢.
   Londonstaff -  ⥯ ᨬ ⠡  稫 -
 祭  ⠡ த殢(Salespeople). ᫨ 祭  ⠡ 
த殢   ,    ࠧ  ⠡ 
Londonstaff (     ᮧ ⠪ 䥪,   ।⠢-
( VIEW), ᠭ   20 ).
       INSERT  㪠뢠 ⮫  -
,  , ᫨ , ६ ⮫쪮 ࠭ ⮫  ⠪-
 㯮冷 ⮫쪮  ⮫   ࠫ.



                 , ,           189
______________________________________________________________________


 ।, ਬ,   訫 ନ஢  ⠡
  Daytotals,   㤥 ᫥  騬 ⢮ 
஢ 㬬 ਮ⥭ 㯮冷祭   .  
   ᨬ  ⠡ 浪,  ᭠砫   
 ⠡ Daytotals ଠ樥 ࠭ ।⠢  ⠡ 
浪.

  ⠡ 寧 墠뢠 ᫥ 䨭ᮢ ,   
⮫쪮 ᪮쪮 ,   襬 ਬ,    २-
 ᯮ짮 ᫥饣 ᫮ INSERT     祭

            INSERT INTO Daytotals (date, total)
               SELECT odate, SUM (amt)
                  FROM Orders
                  GROUP BY odate;

  ,  । ࠭,  ⮫殢 ⠡
浪  ⠡ Daytotals -    묨. ஬ ⮣,
᫨  ਮ⥭  饥 ⢮ -  ⢥ ⮫  
⠡,   室   浪,     ᪫祭 
 뢮 -  祢 .


=========       =========

  㤠 ப  ⠡  䨪樨 - DELETE.
  㤠 ⮫쪮  ப,   㠫 -
 , ⠪  ࠬ   易⥫  -
.  ⮡ 㤠  ᮤঠ ⠡ த殢,   -
 ᫥饥 ᫮:

             DELETE FROM Salespeople;

  ⠡    ⥫쭮 㤠 
DROP TABLE (     17 ).

筮,  㦭 㤠 ⮫쪮  । ப  ⠡-
. ⮡ ।  ப  㤠,  ᯮ ।-
, ⠪       ᮢ. ਬ, ⮡ 㤠 -
 Axelrod  ⠡,   

               DELETE FROM Salespeople
                  WHERE snum = 1003;


     190             SQL      
______________________________________________________________________
             . 15

   ᯮ짮  snum   sname ⮬,   
⠪⨪  ᯮ짮 ࢨ 祩    ⮡ -
⢨ ࣠   ⮫쪮  ப.   -  筮 
⢨ ࢨ筮 .
  筮,   ⠪ ᯮ짮 DELETE  ।⮬  
 롨ࠫ 㯯 ப,    ⮬ ਬ:

             DELETE FROM Salespeople
                WHERE city = 'London';


===========      ========

,   㦥    㤠 ப ⠡,   
㧭      祭  饩 ப. 
   믮  UPDATE. 
  ᮤন । UPDATE  ன 㪠  ᯮ-
㥬 ⠡  । SET ஥ 㪠뢠   ஥ 
㦭 ᤥ  । ⮫. ਬ, ⮡  業 
 稪  200,   

             UPDATE Customers
                SET rating = 200;


   

筮,   ᥣ  㪠뢠  ப ⠡  
⢥ 祭, ⠪  UPDATE,  DELETE,   
।.   ਬ  믮     
稪 த Peel ( 饣 snum=1001 ):

                UPDATE Customers
                   SET rating = 200
                   WHERE snum = 1001;


 UPDATE   

,   , ࠭稢 ᥡ ஢ ⢥ -
    UPDATE. । SET   -



                  , ,          19l
______________________________________________________________________

 ᫮ ⮫殢, ⤥塞 묨.  㪠 祭  
 ᤥ   ⠡筮 ப,  ⮫쪮     
 ६. ।,  த Motika 襫  ,   
⨬ ७    த:

             UPDATE Salespeople
                SET sname = 'Gibson',city = 'Boston',comm = .10
                WHERE snum = 1004;

  ।  த Gibson,  ⥪ 稪 -
襣 த Motika  浪,  ⮬   ஬  뫨 ᪮-
  Motika    snum.
  , , ஢ ࠧ  ⠡   ,
筮 ⮬,     ᯮ짮 䨪 ⠡  ⮫-
栬 묨 । SET.  㣨 ᫮,     
᪠ - "SET Salespeople.sname = Gibson"    UPDATE,   
᪠ ⮫쪮 ⠪ - "SET sname = Gibson".


   

  ᯮ짮 ᪠ ࠦ  । SET  
UPDATE, , 稢   ࠦ  ஥ 㤥 . 
 ⮬  ⫨稥  । VALUES  INSERT,  ஬ 
ࠦ   ᯮ짮;  ᢮⢮ ᪠ ࠦ - 
쬠  ᮡ.
।,   訫 㤢 ᨮ ᥬ 訬 த栬.
  ᯮ짮 ᫥饥 ࠦ:

           UPDATE Salespeople
               SET comm = comm * 2;

直 ࠧ,   뫠  㪠 祭 ⮫  ।-
 SET, ந 祭    ⥪饩 ப, ० 
   ᤥ -     UPDATE. 
⢥,   ᪮஢  ᮡ,  ᪠, - 㤢 
 ᥬ த栬  , ⠪ ।:

               UPDATE Salespeople
                  SET comm = comm * 2
                  WHERE city = 'London';



     192            SQL     
______________________________________________________________________
           . 15


 (NULL) 

। SET -   ।.     NULL 祭
⠪    祭  ᯮ - ᯥ樠쭮 ᨭ⠪
( ⠪ ਬ  IS NULL ).  , ᫨   ⠭  業 
稪    NULL,    ᫥饥 ।:

             UPDATE customers
                SET rating = NULL
                WHERE city = 'London';

 㫨  業 稪  .


================    ================

   ⢮ ࠢ ᮤঠ 襩 
     :

  INSERT          - ᯮ㥬 ⮡  ப   ;
  DELETE         - ⮡ 㤠 ;
  REFERENCES - ⮡  祭  㦥 ⠢ ப.

 砫 ᯮ짮 ।   UPDATE  DELETE
⮡ ।,    ப 㤥 ⢮ .
筮, ।  ⠪ -  稬  INSERT, ⮬ 
㦤 ப    ⠡  砭 믮
 INSERT. ,   ᯮ짮   INSERT,
⮡ ࠧ    ப  ⠡. 祬 ,  -
   ⮫栬   浪.
   㧭,  祭  㬮砭,    ⮫,-
   ⠭  祭 .  ⠪  ᯮ짮-
 ⠭⭮ 祭  㬮砭,   NULL. ஬ 
⮣,  﫨,  UPDATE  ᯮ짮 ࠦ 祭,  
⮣  INSERT  .
      ,  ,  ᯮ짮-
   ⨬ .    ,  -
묨  㦥 ,    ᯥ樠 뢮  -
࠭祭,   ᯮ   DML,   㤥 
㦤   16.




           , ,          193
______________________________________________________________________


**************   SQL **************

1.     ⨫ ᫥騥 祭,   
   㪠 浪,  ⠡ த殢:

               city  - San Jose,
               name - Bianco,
               comm - NULL,
               cnum  - 1100.

2.     㤠  浪 稪 Clemens 
    ⠡ 浪.

3.     㢥稫 業  稪   
    100.

4. த Serres ⠢ . ७  稪 த-
    Motika.

( . ਫ A  ⢥⮢. )




                                                                                   16




                  

               





     196           SQL        ___________________________________________________________________
           . 16

  ,    
   䨪樨.
 ,    -  㦥   ᯮ짮 -
ᮢ  . ,   ᯮ  -
 SELECT, c  ਬ   䨪樨  㢥-
७,   ⠭  .
襭  SELECT  ,   ।,  -
⮬  ᯮ짮 ⫨砥  ᯮ짮  ।-
⮢   䨪樨,   㦥 믮﫨 ࠭  -
 UPDATE  DELETE.  ᯮ짮   ⮡ 
ந 祭  INSERT,  ⥯     
 ⮡    .
    ਭ樯   ᮡ  ࠡ   
䨪樨, ⮨  ⮬,      । FROM 
 , ஢ ⠡  ன 뫠  
 ᭮ .  ⭮  ᥬ ६  -
䨪樨.    讥 ⢮ 権   㤥 
 ᤥ  ⮩ ⠡    ஢ 
祬  ६  䨪樨,  ᫨誮 ᫮  -
 ᯮ짮   ࠪ⨪.
      뫪  ⥪饩 ப ⠡ 㪠  , 
  ᮮ⭥ᥭ ᮬ.


====    INSERT ===

 INSERT -  ᠬ ⮩ 砩.  㦥   ⠢
१   ⠡.   ᯮ짮 
  ,   祭  
INSERT ⥬  ᠬ ᯮᮡ,      㣨
ᮢ - ..  ।  । HAVING.
   ।,    ⠡   SJpeople, ⮫ 
ன ᮢ  ⮫栬 襩 ⠡ த殢.
 㦥    ⠡  ⮩, 稪  
த, ਬ,  San Jose:

                   INSERT INTO SJpeople
                      SELECT *
                      FROM Salespeople
                      WHERE city = 'San Jose';


         197
______________________________________________________________________


   ᯮ짮  ⮡   ⠡
SJpeople  த殢   稪  San Jose, -
ᨬ  ⮣, 室  ⠬ த  :

       INSERT INTO SJpeople
          SELECT *
             FROM Salespeople
             WHERE snum = ANY
               ( SELECT snum
                    FROM Customers
                    WHERE city = ' (San (Jose' );

   ⮩  㭪樮 ⠪  ᫨    
﫨  ࠦ INSERT.  室  ப  
稪  San Jose  ନ  祭 snum. 譨  
롨ࠥ ப  ⠡ Salespeople,   祭 snum . 
 ⮬ ਬ, ப  த殢 Rifkin  Serres,  祭 
稪  San Jose - Liu  Cisneros,  ⠢  ⠡ SJpeople.


   

᫥⥫쭮   ।饬 ࠧ  
஡筮. த Serres 室  San Jose,  ᫥⥫쭮 
㤥 ⠢   ࢮ .   ⠥ 
⠢  ᭮, ᪮     稪  San Jose. 
᫨   ࠭祭  ⠡ SJpeople  㦤-
  祭  㭨묨,   ⠢ ௨ 㤠 
(     뫮 ).
 ப  . ( .  18  ஡⥩  ࠭-
. )
  뫮   ᫨    - ᭨,   祭 㦥 
뫨 ⠢  ⠡, ० 祬  ⠥ ᤥ  ᭮, 
   㣮  ( ᯮ饣  
⨯ EXISTS, IN,  < > ALL,  ⠪  )   ।.
   ᮦ, ⮡ ᤥ  ࠡ,   㤥 ᫠ 
ᠬ ⠡ SJpeople  । FROM ⮣  ,  , 
  ਫ ࠭,    뫠  ⠡ 



    198         SQL       
______________________________________________________________________
         . 16

⢮ ( 楫 )     䨪樨. 
 砥 INSERT,  㤥 ⠪ ९⢮ ᮮ⭥ᥭ -
ᠬ, ᭮  ⠡    ⠢ 祭.   
祭, ⮬ ,   INSERT,  ᮧ  ப  ⠡-
. " ப"  㤥 ⢮   ,  INSERT  
  ࠡ뢠.

   
   

 饭  뫪  ⠡    INSERT 
 ।࠭   ᯮ짮 ᮢ  뫠  ⠡-
 ᯮ㥬  । FROM 譥  SELECT.   
 ன  롨ࠥ 祭, ⮡ ந   INSERT ,  㤥 
⢮ ;   ᬮ 뫠  ⮩ ⠡  ᯮ-
 묨  筮  ,  ⮫쪮 ᫨  ⠡ 㪠  -
 .  ।    ⠡   Samecity  -
ன   த殢  稪   த.
     ⠡ ᯮ ᮮ⭥ᥭ :

              INSERT INTO (Samecity
                 SELECT *
                    FROM (Salespeople outer
                    WHERE city IN
                      ( SELECT city
                           FROM Customers inner
                           WHERE inner.snum = outer.snum );

   ⠡ Samecity,  ⠡ த殢    ᯮ짮  
譨  ७  INSERT.  ⢥ 㣮 ਬ, ।-
,    ६  த   ᠬ 让 -
冷   .  ᫥    ⠡   Bonus,  
ᮤন  snum த殢,  odate   amt .    
 ⠡ ଠ樥  ࠭  ⠡ 浪, ᯮ ᫥-
 :

           INSERT INTO Bonus
              SELECT snum, odate, amt
                 FROM Orders a
                 WHERE amt =
                   ( SELECT MAX (amt)
                        FROM Orders b
                        WHERE a.odate = b.odate );



         199
______________________________________________________________________


 ᫨        ⮩ 
ᠬ ⠡   譨 ,   뫠  ⠡ Bonus,
   .    ᮫⭮ ਥ.
    , ⢥,  ᬠਢ ⠡ 浪,
 室   ப ᨬ 浪 㬬 ਮ⥭  
⮩ . ᫨  稭 - ⠪    ⥪饩 ப, ⥪ 
ப  訬 浪  ⮩ ,   ⠢-
  ⠡ Bonus.


====      DELETE ====

  ⠪ ᯮ짮   ।  DELETE.
    ।  쭮 ᫮ -
ਨ ⮡ ⠭,  ப  㤠,  , ⠪  
 筮     ஦ 㤠 㦭 ப.
  ਬ, ᫨  뫨  ⢮  ,   
ᯮ짮 ᫥騩  ⮡ 㤠  稪 祭-
  த栬  :

             DELETE
                FROM Customers
                WHERE snum = ANY
                  ( SELECT snum
                      FROM Salespeople
                      WHERE city = 'London' );

   㤠  ⠡ 稪 ப Hoffman  Clemens 
( 祭  Peel ),  Periera ( 祭  Motika).
  筮,   㤮⮢, ࠢ쭮  ନ஢  
, ० 祬 㤠   ப Peel  Motika.



      200         SQL      
______________________________________________________________________
           . 16

   . 筮,    䨪   ,
  㣨 䨪樨,  ࢮ  - ᤥ 
᭠砫 ᭮ ⢨,  ⥬ ᫥ 㣨, . 
 ਬ, , 祬  䥪⨢  , -
 ᭠砫  ⢨.
  ᫨, ਬ,  訫  祭  city  -
殢 ,   ७祭,   ᬮ  
稪  ᫮ ᯮᮡ.
    ॠ    ⥭ ࠧ  -
⥫쭮  ࠧ஢ 祬  訥 ⨯ ⠡,  -
  쥧 ஡. SQL  ।⠢  -
  ⮩  ᯮ 堭 ࠢ筮 楫⭮ ( -
㦤   19 ),    ᥣ 㯭   ᥣ ਬ.
       뫠  ⠡  ன  㤥 㤠 
ப  । FROM ,    ।, ᫠-
  ⥪ ப- ⮩ ⠡ -   ப 
  饥 ६ ஢  ᭮ ।. 㣨 
᫮,   ᯮ짮 ᮮ⭥ᥭ .  ⫨-
   ᮮ⭥ᥭ ᮢ,    ᯮ짮  
INSERT,  ஬  䠪᪨ ஢  ப- 
⠡ ⢮  ,     㣮 ⠡.

          DELETE FROM Salespeople
             WHERE EXISTS
               ( SELECT *
                   FROM Customers
                   WHERE rating = 100
                   AND Salespeople.snum = Customers.snum );

     ,  AND  । ७ 
뫠  ⠡ த殢.  砥    㤥 
믮 ⤥쭮   ப ⠡ த殢, ⠪  
 믮﫮  㣨 ᮮ⭥ᥭ묨 ᠬ.   
㤠  த殢    襩   稪 
 業 100  ⠡ த殢.
 筮 ,  㣮 ᯮᮡ ᤥ  :

             DELETE FROM Salespeople
                WHERE 100 IN
                  ( SELECT rating
                      FROM Customers
                      WHERE Salespeople.snum = Customers.snum);



         UPDATE    201
______________________________________________________________________


  室  業   稪 த殢  㤠-
  த殢 稪 ண  業 = 100.

筮 ᮮ⭥ᥭ  -   易  ⠡楩
 ன  뫠  譥  (   ᠬ । 
DELETE) -   ⠪  ᯮ㥬.    訩 -
     㤠 த殢  ந ,  -
 ᫥饩 :

              DELETE FROM Salespeople
                 WHERE (snum IN
                   ( SELECT snum
                        FROM Orders
                        WHERE amt =
                          ( SELECT MIN (amt)
                               FROM Orders b
                               WHERE a.odate = b.odate ));

  । DELETE ,  ᮮ⭥ᥭ .  -
७  室  冷 㬬 ਮ⥨  
  ப 譥 . ᫨  㬬 ⠪   -
 ⥪饩 ப, । 譥  ७,  砥,  
⥪ ப  訩 冷  ⮩ .  snum -
, ⢥⢥   冷,   ।  ᭮-
 ।  DELETE,  ⥬ 㤠  ப  ⨬ 
祭  snum  ⠡ த殢( ⠪  snum -  ࢨ 
 ⠡ த殢,  ⢥ ⠬   ⮫쪮  
㤠塞 ப  祭  snum 뢥   -
. ᫨    ப,    㤠. ) 
 snum = 1007 ஥ 㤥 㤠,  襥 祭 
3 ;  snum = 1002, 襥  4 ;  snum = 1001,
襥  浪  5  (    쭮 १, 
ᮡ   㤠 Peel ᮧ襣 ⢥ 冷  5 -
,     ).



       202           SQL         
______________________________________________________________________
             . 16

᫨   ࠭ Peel,     㣮 , 
   :

           DELETE FROM Salespeople
              WHERE (snum IN
                ( SELECT snum
                     FROM Orders a
                     WHERE amt =
                       ( SELECT MIN (amt)
                            FROM Orders b
                            WHERE a.odate = b.odate )
                     AND 1 <
                      ( SELECT COUNT onum
                           FROM Orders b
                           WHERE a.odate = b.odate ));

    ஬  ᮧ ⮫쪮  冷, 㤥 ந 
 = 1  ஬ ᮮ⭥ᥭ .  ᤥ । 譥-
  ࠢ,   snum ᫥⥫쭮   ।  
᭮ ।.


====     UPDATE  ====

UPDATE ᯮ  ⥬  ᠬ ᯮᮡ   DELETE
-  ⮣ 易⥫쭮 ।.   ᯮ짮 ᮮ⭥-
ᥭ    ଥ ਣ  ᯮ짮  DELETE - 
易   㥬 ⠡楩   ⠡楩 뢠  
譥 . ਬ,   ᮮ⭥ᥭ   ⠡-
  㤥 ஢,   㢥 ᨮ 
 த殢  뫨 祭  ࠩ   稪:

        UPDATE Salespeople
           SET comm = comm + .01
           WHERE 2 < =
              ( SELECT COUNT (cnum)
                   FROM Customers
                   WHERE Customers.snum =
                    Salespeople.snum );



      UPDATA      203
______________________________________________________________________


   த Peel  Serres, 騥 ᫥ 稪,
 襭 ᢮ ᨮ.
    ࠧ ᫥ ਬ  ।饣 ࠧ  
DELETE.  㬥蠥 ᨮ த殢  ந -
訥 浪,   ࠥ   ⠡:

           UPDATE Salespeople
              SET comm = comm - .01
              WHERE snum IN
                ( SELECT snum
                     FROM Orders a
                     WHERE amt =
                       ( SELECT MIN (amt)
                            FROM Orders b
                            WHERE a.odate = b.odate ));



  
   DML

ᯮᮡ ᫠  ⠡ ⢮     
 䨪樨 (UPDATE), ࠭ 楫 ⥣ਨ 
⢨.
ਬ,     믮 ⠪   㤠
 稪  業  ।. ⭮  ᥣ  
 ᭠砫 ( 1.), 믮 , 騩 । 稭, 
⥬ ( 2.), 㤠  ப  業  ⮩ 稭:

 1.

          SELECT AVG (rating)
             FROM Customers;

   뢮 = 200.

 2.

          DELETE
             FROM Customers
             WHERE rating < 200;



      204           SQL         
______________________________________________________________________
           CH 16

===============   ==================

   ६   ࠢ ᥬ ᮤঠ
襩  . ⠫ ⮫쪮 ᪮쪮  ᮢ ⭮⥫쭮
  ࠭ 祭 ⠡,  ਬ    -
  짮⥫   ⠡   ⢨ ᤥ-
 , ⠭ ﭭ묨.
 ⮣:  ᯮ  INSERT ⮡  ப  ⠡-
.      祭  ப  । VALUES 
(  ⮫쪮  ப    ),  뢥 祭  -
  (   ᫮ ப     ). 
᫨ ᯮ ,    뫠  ⠡    -
 ⠢,  ᯮᮡ    ,   । FROM,  
  譥 뫪 (     ᮮ⭥ᥭ  ).
  ⭮   ᠬ  ⮣ .
  , , ⠢  ᢮ ᯮ짮 ᮮ⭥ᥭ -
ᮢ  ᮢ    । FROM  ⠡, ஥ 
㦥 뫮 㪠  । FROM 譥  (  - 騩 砩 
 ᮢ ).
   DELETE  UPDATE ᯮ ⮡, ᮮ⢥⢥ 㤠 ப  ⠡-
     祭.   ਬ  ᥬ ப ⠡, 
᫨  ᯮ । ।騩  ப   㤠-
  ஢.  ।  ᮤঠ ,  
  易  ⠡楩, 㤠塞,  ஢,   
譥 뫪.  , ,   뫠  ⠡ -
㥬  । FROM.
 ,   諨 ਠ SQL    ᠬ 
 ᪨ 浪. 砫  ᤥ  ⠡  
㦥  묨. ⮬     䠪᪨  
 祭 砫쭮. ,   ,    ᠬ 
 業.
,       祭ﬨ ⠡  㦥 
뫨 ᮧ ( ।) ,  (  ᫥饩 )  㤠 -
  ⠡.



         205
______________________________________________________________________


**************   SQL **************

1. ।,   ⠡ 뢠 Multicust,  ⠪
     ⮫殢   ⠡ த殢.  , 
     ⠢  த殢 ( ⠡ த殢) 
    祬  稪   ⠡.

2.     㤠﫠  稪  
   ⥪ 浪.

3.     㢥稫   業⮢ -
     த殢  騥 ⥪騥 浪  祬 $3,000.

( . ਫ A  ⢥⮢. )






                                                                                    17




                                                




    208         SQL     
______________________________________________________________________
          . 17

   ,   
  믮﫨   祭  , , 
 ⠡ 㦥 뫨 ᮧ  -    .
 ⢨⥫쭮  ॠ쭠 ,  讥 -
⢮  ᮧ ⠡,  ⥬ ᯮ 㣨 
쬨.  楫 ⮨  ⮬, ⮡ 墠⨢ ଠ ᭠砫 
 ப, ३ ⥬   㧪 ᠬ.

 ⮩ ,  㤥 㦤 ᮧ, ,  㤠 ⠡. 
  ⭮  ᠬ ⠡栬,        ᮤ-
. 㤥   㤥  믮  樨 ᠬ⥫쭮, 
  楯㠫쭮  㢥   몠 SQL  
த ⠡   ᯮ.       
SQL 뢠 -  DDL( । ),  ᮧ ꥪ-
  SQL.

  ⠪  㣮  ꥪ  SQL  - .
 ᯮ ⮡    䥪⨢ , ,
⠢ 祭 ⫨ 㣠  㣠.
 筮 ࠡ ⭮  ,  ᫨  ஡ 
祭  ⠡    ⪫, -  㭨쭮,  
㤥   㣠 ப    ᠬ 祭  ⮣ -
,      㭨   ࠭祭 ஥ ।-
뢠  㭨쭮.
㦤 㯮⮣, த   18.


========        ========

 ᮧ  CREATE TABLE.   ᮧ  
⠡ - ⠡  ப. 祭    DML  
INSERT ( .  15).  CREATE TABLE  ᭮ । 
  ⠡,   ᠭ   ⮫殢 㪠  । 
浪.  ⠪ । ⨯   ࠧ ⮫殢.  
⠡    ࠩ   ⮫.

⠪  CREATE TABLE:

    CREATE TABLE <table-name >
         ( <column name > <data type>[(<size>)],
         <column name > <data type> [(<size>)] ... );



                                                  209
______________________________________________________________________


 ᪠   2, ⨯  ⥫쭮   ணࠬ 
 ணࠬ.  ᮢ⨬  ⠭⮬,   ,  ࠩ-
 , ন ⠭ ⨯ ANSI.  ᠭ  ਫ B.

  ஡ ᯮ  ࠧ ⥩  SQL,   
    ⠡ (   㣮 ꥪ, ⠪  
 ). ન ( _ ) - 筮 ᯮ  ࠧ ᫮  
 ⠡.

祭 㬥 ࠧ   ⨯ . ᫨    㪠-
,  ⥬ ᠬ 㤥  祭 ⮬᪨.  -
 祭,  - 訩 室, ⮬   ⮬ 砥,   
 ⠪ ⨯      ࠧ  ᢮   -
  饩 ᮢ⨬(.  14).
஬ ⮣, ᯮ짮 㬥 ࠧ  묨 ᫮ -
ࠬ,  ᮢᥬ ⮩ . ᫨  㦭 ࠭ 訥 ᫠, 
 ᮬ  ࠭⨨,   筮  ⮡ 
 .

 ⨯   ண ,  ᭮,   ࠧ - 
CHAR.
㬥 ࠧ -  楫 ᫮ ஥ । ᨬ쭮 -
 ᨬ ஥   . ᪨, ᫮ ᨬ -
     ( ᫨  - NULL )  ⮣ ᫠.
 㬮砭, 㬥 ࠧ = 1,  砥    ᮤ-
 ⮫쪮  㪢.
 筮  ᮢᥬ    .

 ਭ 짮⥫   ᮧ,    ⠡-
 ਭ  짮⥫  ⫨ 㣠 
㣠,     ⮫殢   ⠡. ⤥ ⠡-
  ᯮ짮   ⮫殢,  ᫨  ਭ-
   ⮬  짮⥫. ਬ஬ ⮬ - ⮫ city  ⠡-
 稪   ⠡ த殢. 짮⥫  騥 -
栬 ⠡  뫠  ⨬ ⠡栬    -
  ⠡ ᮯ஢ 窮; ਬ, ⠡ Employees 
ᮧ Smith 㤥 뢠 Smith.Employees   㯮 
- 㣨 짮⥫ (    Smith -  䨪-
 襭 (ID).
(ID) ᮮ頥 짮⥫ (  ࠧ襭 ID -     SQL.
 뢮 㦤   2,  㤥 த   22 ).



       210            SQL      
______________________________________________________________________
              . 17

  㤥 ᮧ ⠡ த殢:

  CREATE TABLE Saleepeople
      ( snum    integer,
        sname   char (10),
        city     char (10),
        comm   declmal );

冷 ⮫殢  ⠡ । 浪  ஬  㪠. 
 ⮫   ࠧ  ७ ப (  ᤥ  
㤮⠥ ),  ⤥ 묨.


===============       =================

  -  㯮冷祭 ( 㪢  ᫮ ) ᯨ᮪ ⮫-
殢  㯯 ⮫殢  ⠡.    讥 -
⢮ ப, , ⠪  ப  室  - ।-
 浪,     㪠 祭  ॡ-
 ६.
  -   ,     ६ ᯥ祭 ᯮᮡ 
ꥤ  祭  㯯     ப, -
 ⫨   㣮.   18,  㤥 뢠  
।⢥ ᯮᮡ  ⠢  祭  㭨-
묨.   ⮤    ࠭  SQL.   
㭨쭮  室,   ᯮ짮  ⮩ 
楫.

 -  ।⢮ SQL, ஥ த ᠬ 뭮,   ANSI.
⮬, ᠬ  ᥡ ⠭ ANSI  饥 ६  ন-
 ,   祭   ப ਬ塞.

  ᮧ   ,     ᮮ⢥-
騩 冷  祭 ⮣    . ।-
   ⠡ 稪   室,    
 稪  ஬=2999.   ப  㯮冷祭,  
ணࠬ 㤥 ᬠਢ  ⠡, ப  ப, ஢-
  ࠧ 祭  cnum  ࠢ⢮ 祭 2999.
, ᫨      cnum ,  ணࠬ   
   2999 אַ     ଠ  ⮬  
 ࠢ ப ⠡.



                                                   211
______________________________________________________________________


  ६   ⥫쭮 蠥 䥪⨢ ᮢ,
ᯮ짮  ᪮쪮  樨 䨪樨 
DML( ⠪  INSERT  DELETE ),  ᠬ   ꥬ 
. ⥫쭮,  ࠧ   ᮧ ⠡   
ਭ 襭, ஢   .
    ᫥ . ᫨  祬 
 㪠뢠   , ஥ 㯮冷稢  -
,   ண,  ⠪ . ᫨   ࢮ  ᫥-
    ࠧ  ⠡,    ᮧ  
  㯮冷稫 ।饥   ᫥饣.
   믮 ᨬ  ᯮᮡ 㯮冷稢 ⮫-
殢  ⠡.

⠪  ᮧ  - 筮 ᫥騩 ( ,  
 ANSI ⠭ ):

         CREATE INDEX <index name> ON <table name> 
              (<column name> [,<column name>]...);

, 筮,  㦥  ᮧ   ᮤঠ  ⮫-
.      ᯮ짮  祣- 㣮   
 (  짮⥫ ).  ᮧ,  㤥  
짮⥫. SQL ᠬ 蠥   室 ⮡ 뫠   
   ⮬᪨.
᫨, ਬ, ⠡ 稪 㤥   㯮  
 த殢   ᮡ⢥ , 뫮  ࠢ쭮 ᮧ 
⠪    snum ⠡ 稪.

     CREATE INDEX Clientgroup ON Customers (snum);

,  த   ⭮襭  ⮩ ⠡ ᬮ  
ᮡ⢥  祭 .


 

  ।饬 ਬ,  ,  ।뢠 㭨쭮,
ᬮ   砭,      祭 . 
 த    ᫮ 稪. , ⮣  -



    212         SQL     
______________________________________________________________________
          . 17

 ᫨  ᯮ㥬 祢 ᫮ UNIQUE । 祢 ᫮ 
INDEX.  num,  ⢥ ࢨ筮 , ⠭  ⮬ 
 㭨쭮 :

       CREATE UNIQUE INDEX Custid ON Customers (cnum);

:   㤥 ⪫ ᫨ 㦥  
 祭   cnum. 訩 ᯮᮡ    
ᠬ ⮨  ⮬, ⮡ ᮧ  ࠧ ᫥ ⮣, 
 ⠡ ᮧ  ०, 祬   祭. 
   ,  㭨쭮   祬 
 ,  -  祭,   , 
    㭨.

।騩 ਬ - ᢥ ᯮᮡ ⠢  cnum ࠡ  
ࢨ  ⠡ 稪.     ࢨ-
  㣨   ।⢥.
 㤥 㦤  뢮    18  19.


 

   ਧ     - ⮬    
㤠. 筮 짮⥫    ⢮ . SQL -
᪨ ।   짮⥫ ᯮ짮 ,  
᫨ ,  ࠧ蠥 ᯮ짮 . , ᫨   㤠 
,     .  ᨭ⠪ ᯮ  㤠-
 :

              DROP INDEX <Index name>;

     ᮤঠ .


                 
========         ========

 ALTER TABLE   ⠭ ANSI;    - ப -
㯭,  쭮 ᮤঠ⥫쭠 ଠ,    ᪮-
 ࠭祭.
 ᯮ ⮡  । 饩 ⠡.
筮,   ⮫  ⠡.    㤠 
⮫    ࠧ,  ⠪   ணࠬ -



                                               213
______________________________________________________________________


  㤠 ࠭祭 ( 㦤   18 ).
 ᨭ⠪ ⮡  ⮫  ⠡ :

 ALTER TABLE <table name> ADD <column name> 
                          <data type> <size>;

⮫ 㤥   祭 NULL   ப ⠡.
 ⮫ ⠭ ᫥  浪 ⮫殬 ⠡.  
,   ࠧ ᪮쪮  ⮫殢, ⤥  -
,   .   㤠   ⮫. 
 ,  ⮫    㢥祭  
ࠧ,  ( 㤠 ) ࠭祭.
 ⥬  㡥,     ⨢ 
騬  - ਬ  ⪥  ࠭祭  
⮫  㦥  祭  襭 ண ࠭祭 
㤥 ⪫.  ᥣ  ஢ .
 ࠩ , ᬮ 㬥 襩 ⥬ ⮡ 㡥-
, ࠭      뫮 稭. - ⠭⭮-
 ࠪ  ALTER TABLE,   ࠢ 室 ᬮ 
 ࠧ 襩 ⥬ 㬥樨    ᮡ .

ALTER TABLE -  ,  ⠡   ८।, 
   ࠧࠡ뢠      ⠪ ⮡ 
 ᫨誮   ⮬ ।.   ⠡  
 㦥  ᯮ짮 - ᭮! ᬮ ⥫쭮 ⠡, -
  묨 ⠡栬  祭묨 묨  㣮 
⠡ ( ᬮ  20 ),    ࠢ쭮 ࠡ,  ணࠬ 
ᯮ騥  SQL(  25 ) 믮 ࠢ쭮   
ᥣ ஠쭮. ஬ ⮣,     짮⥫ 
 ࠧ襭   ⠡.
 ⨬ 稭,   ࠧࠡ뢠  ⠡ ⠪, ⮡ -
짮 ALTER TABLE ⮫쪮  ࠩ 砥.

᫨  ⥬  ন  ALTER TABLE ,  ᫨   
  ᯮ짮,    ᮧ  ⠡,  -
室묨 ﬨ  ᮧ,  ᯮ짮  INSERT  
SELECT * ᮬ ⮡ ९     ன ⠡.
    짮⥫   ।⠢   ன ⠡
( .  22 )   ।⠢    ⠡.



    214              SQL      
______________________________________________________________________
            . 17

=============    ===============

   ᮡ⢥( ..  ᮧ⥫ ) ⠡ ⮡ 
 㤠 . ⮬    砩 ࠧ襭 
 , SQL ᭠砫 ॡ ⮡  ⨫ ⠡ ०, 
祬 㤠    .   室騬   ப,  
  㤠.    15  ஡ﬨ ⭮⥫쭮 
⮣  㤠 ப  ⠡. ⠪  㤠 襩 ⠡, 
᫨ 筮   ⮩, ᫥:

          DROP TABLE < table name >;

  ⮩ ,  ⠡   ᯮ   ⠪
     ⮬ ꥪ.   㡥,  
 ⠡  뫠 譨 箬  㣮 ⠡( 譨 -
 㦤   19 ),     ᯮ  । ।-
⠢(  20 ).

  䠪᪨    ⠭ ANSI,    -
ন  .  ,   ,  ᫥⥫쭮 -
 ⨢稢, 祬 ALTER TABLE .  ANSI    ᯮᮡ 
 । ࠧ襭  ࠢ ⠡.


===============      ===============

  㦥  ਥ  ᭮ । .
  ᮧ, ,  㤠 ⠡.   ६ 
⮫쪮 ࢠ   㭪権 -  樠쭮 ⠭ SQL,
㣨  ६  ६ , ᮡ - ALTER TABLE.
DROP TABLE     ⠡  ᯮ.
 㭨⮦ ⮫쪮  ⠡,  ᫥⥫쭮  ࠧ蠥
.

 ⥯     ⠪,   ᮧ   㤠. SQL 
   讣 ࠢ  , ⠪  ॠ  
 ᯮ 쭮 㤠筮 ।,   믮 
ࠧ .  -    㬥⮢ 騩  
 ⢮ ।⢥  䥪⨢  
  SQL.  ᬮ५   ⮡ ⫨   -
࠭祭,  묨   . ࠭祭 -  ⥬ 
 18   19.



                                                    215
______________________________________________________________________


****************   SQL ************

1.  । CREATE TABLE ஥  뢥  
   ⠡ 稪.

2.       짮⥫
     浪 㯯஢  ⠬  ⠡
   浪.

3. ᫨ ⠡ 浪 㦥 ᮧ,    ⠢ 
   onum  㭨 ( ᫨    ⥪騥 祭 
   㭨 ) ?

4.     ࠧ蠫  த 
   ᪨  浪 㯯஢  ⠬.

5. ।,   த  ⮫쪮  稪
     業,     .

( . ਫ A  ⢥⮢. )






                                                                                    18




                         

                                       




      218               SQL     
______________________________________________________________________
              . 18

  17,     .
  ⥫쭮  ⮣        
⠭ ࠭祭  ⠡.
࠭祭 -   । ⠡, ஥ ࠭稢
祭      ⮫.
 ⮣   , ⢥ ࠭祭  祭  
  , 뫨 ⨯   ࠧ  祭  
  ᮢ⨬  ⥬ ⮫栬    祭 -
 (   ।   CREATE TABLE   ALTER 
TABLE ). ࠭祭   ⥫쭮 訥   ᪮ 
  㢨.  ⠪ 㧭  । 祭  㬮砭 
 ⮩ .
 㬮砭 -  祭 ஥ ⠢ ⮬᪨   
⮫ ⠡,  祭  ⮣ ⮫    
INSERT  ⮩ ⠡. NULL -   ப ᯮ㥬 
祭  㬮砭,   ⮩  㤥   ।  
㣨 祭  㬮砭.


===========        ==========

  ᮧ ⠡ ( ,     ),   -
 ࠭祭  祭      . ᫨  
 ᤥ, SQL 㤥 ⪫  祭   -
ਨ   ।.   ᭮ ⨯ ࠭祭 - 
࠭祭 ⮫  ࠭祭 ⠡. 稥    ⮬, 
 ࠭祭 ⮫ ਬ ⮫쪮  㠫 ⮫栬,  
 ६  ࠭祭 ⠡ ਬ  㯯     
⮫殢.

 

  ⠢ ࠭祭 ⮫    ⮫ ᫥ ⨯ -
  । ⮩. ࠭祭 ⠡     ⠡-
 ᫥ ᫥  ⮫,  । ⥫쭮 㣫 
᪮.   ᨭ⠪   CREATE TABLE, ७-
  祭   ࠭祭:

      CREATE TABLE < table name >
         (< column name > <data type > < column constraint >,
         < column name > < data type > < column constraint > ...
         < table constraint > ( < column name >
         [, < column name > ])... );



                           219
______________________________________________________________________


(  ⪮,  ⨫ 㬥 ࠧ,   ᯮ-
  ⨯ . )     㣫 ᪮ ᫥ ࠭-
祭 ⠡ -     ਬ  ࠭祭.
࠭祭 ⮫, ⢥, ਬ  ⮫栬, ᫥ 
  ᫥. ⠫쭠  ⮩  㤥 뢠 ࠧ-
 ⨯ ࠭祭   ᯮ짮.


   
  ( NULL ) 

  ᯮ짮  CREATE TABLE ⮡ ।࠭ -
  ࠧ襭   (NULL) 㪠⥫   ࠭-
 NOT NULL. 
 ࠭祭 뢠 ⮫쪮  ࠧࠧ ⮫殢.

  ᯮ  NULL -  ᯥ樠쭮 祭 ஥
⬥砥   ⮥.  NULL   ,   -
砨,       ࠭஢. 祢,  ࢨ-
      묨 , ᪮  㤥 -
뢠  㭪樮 . ஬ ⮣, ⠪   
, ॡ  設⢥ 砥, । 祭. 
ਬ,  ⭮      稪  ⠡-
 稪.
᫨   祢 ᫮ NOT NULL ࠧ ᫥ ⨯ 
(  ࠧ ) ⮫,  ⪠  祭 NULL
   㤥 ⪫.  ⨢ 砥, SQL ,  NULL
ࠧ襭.

ਬ,  訬  । ⠡ த殢,  
  NULL 祭  ⮫ snum  sname :

       CREATE TABLE Salespeople
          ( Snum     integer NOT,
            Sname   char (10) NOT,
            city      char (10),
            comm   decimal);

 ,   ⮫  ࠭祭 NOT NULL  
 ⠭ 祭   । INSERT -


      220               SQL      
______________________________________________________________________
            . 18

饬  ⠡.  ⢨ NULL, SQL    祭 
 ⠭    ⮫, ᫨ 筮 祭  㬮砭,
ᠭ ࠭  ⮩ , 㦥  뫮 祭.

᫨  ⥬ ন ᯮ짮 ALTER TABLE ⮡
  ⮫  㦥 饩 ⠡,   
⭮  ࠭祭 ⮫殢, ⨯ NOT NULL,  
 ⮫殢. , ᫨  ।뢠  ⮫ -
祭 NOT NULL, ⥪ ⠡   ⮩.


   - 

      17,  㤨 ᯮ짮 㭨 ᮢ ⮡
⠢   ࠧ 祭   ப.  ࠪ-
⨪ - ⠫  ० ६,  SQL ন ࠭祭 
UNIQUE. 쭮 -  ᢮⢮   ⠡,  ⮬ 
 筮    ࠭祭  ,    
᢮⢮ ᪮ ⫨, 뢠饥 ꥪ  (  ).

ᮬ, 㭨  -   ᠬ   
䥪⨢ ⮤ ।ᠭ 㭨쭮.  ⮩ 稭, -
 ॠ樨 ࠭祭 UNIQUE ᯮ 㭨 -
; -  ᮧ   ᮮ   ⮬.   ⠥ 
䠪⮬,  ⭮ ᯮ浪    筮 , 
᫨  ।뢠 㭨쭮   ࠭祭.

     
 ६  ६,   㡥,   祭   
⮫ ⫨   㣠.  ਬ, ࢨ  -
筮 ᭮  뢠.
᫨  頥 ࠭祭 ⮫ UNIQUE    ᮧ
⠡,   ⪫        -
  ப, 祭, ஥ 㦥 ।⠢  㣮 ப.
 ࠭祭  ਬ ⮫쪮    뫨 -
  (NOT NULL), ⠪    ᫠  
 ப ⠡  祭 NULL,  ⥬ ᪫ 㣨 
ப  NULL 祭ﬨ  㡫. 
 쭥襥 ᮢ襭⢮ 襩  ᮧ ⠡-
 த殢 :



                         221
______________________________________________________________________


      CREATE TABLE Salespeople
       ( Snum     integer NOT NULL UNIQUE,
         Sname   char (10) NOT NULL UNIQUE,
         city      char (10),
         comm   decimal );

        sname 㭨, 㡥,   
Mary Smith   ࠧ묨 ᯮᮡ - ਬ, Mary Smith 
 M. Smith.    ६   ⠪  室  㭪樮쭮 
窨 ७ - ⮬   snum  ⢥ ࢨ筮 ,  
ࠢ ᯥ ⫨稥   ப -     ᯮ-
   ⠡, 祬    Smith  .
⮫ (  ࢨ  )  祭 ॡ 㭨쭮, 
뢠 砬-⠬  㭨묨 砬.

    
  ⠪ । 㯯   㭨  
 ࠭祭 ⠡ - UNIQUE.  㯯  㭨-
쭮, ⫨砥   㭨묨 㠫 ,  
⠪    祭,    㠫쭮 祭, 
஥ 易  㭨.
쭮 㯯 -  ।⠢ 浪, ⠪    ப 
 祭ﬨ ⮫殢  "a", "b"    "b", "a"  ᬠਢ ⤥쭮 -
  㣮.
   ᤥ ⠪ ⮡  稪  祭 -
  ⮫쪮  த.  砥    -
 稪(cnum)   த(snum)  ⠡ 稪 -
  㭨쭮.   㡥  ⮬, ᮧ ⠡ -
稪 ⠪ ᯮᮡ:

       CREATE TABLE Customers
          ( cnum       integer NOT NULL,
            cname     char (10) NOT NULL,
            city        char (10),
            rating     integer,
            snum      integer NOT NULL,
            UNIQUE  (cnum, snum));

      ࠭祭 ⠡ UNIQUE  
ᯮ ࠭祭 ⮫ - NOT NULL . ᫨   ᯮ짮 
࠭祭 ⮫ UNIQUE    cnum, ⠪ ࠭祭 ⠡ 
뫮  易⥫.
᫨ 祭  cnum ࠧ筮   ப,     



         222          SQL      
______________________________________________________________________
             . 18

 ப  筮 樥 祭  cnum  snum.   
 ᠬ  ᫨    snum 㭨,    
 㤥 ᮮ⢥⢮ 襬 ਬ, ⠪  த 㤥 -
祭 ᫥ 稪. ⥫쭮, ࠭祭 ⠡ -
UNIQUE,        ⠢ 㠫-
   㭨묨.

।, ਬ,   ࠧࠡ⠫ ⠡ ⮡ ᫥ 
ᥬ 浪     த.  ப ⠪
⠡ ।⠢ 㬬 ᥫ  浪,     -
 冷.  ⮬ 砥,    ࠭  -
 訡 㡥        祬  
ப   த,      snum 
odate  㭨쭮.   ਬ    ᮧ ⠡ 
  Salestotal :


         CREATE TABLE Salestotal
          ( cnum     integer NOT NULL,
            odate    date NULL,
            totamt   decimal,
            UNIQUE   (snum, odate));

஬ ⮣,     㤥 ᯮ짮 ⮡
 ⥪騥    ⠡:

            INSERT INTO Salestotal
               SELECT snum, odate, SUM (amt)
                  FROM Orders
                  GROUP BY snum, odate;


   

 ⮣  ਭ ࢨ  ᪫⥫쭮  ᪨
.      ⠪ ࢨ ,     -
짮   ⠡,    ""   ⮬ SQL. 
⮬  ᯮ짮 ࠭祭 UNIQUE  㭨   
ࢨ  ⮡ ।뢠  㭨쭮.   ࠭ 
 몠 SQL ,  뫮 室,   믮 ⨬ ᯮᮡ. 
 ⥯, SQL ন ࢨ  ।⢥  -
祭 ࢨ  ( PRIMARE KEY ). 
 ࠭祭   㯭  㯭 襩 ⥬.



                         223
______________________________________________________________________


PRIMARY KEY  ࠭稢 ⠡   ⮫.
 ࠭祭 ࠡ⠥ ⠪    ࠭祭 UNIQUE,  ᪫-
  ⮫쪮  ࢨ  (   ᫠ ⮫殢 ) -
  ।   ⠡.  ⠪ ࠧ稥  
ࢨ묨 砬  㭨쭮 ⮫殢  ᯮᮡ  ᯮ짮-
  譨 砬,   㤥 ᪠   19. ⠪-
  ।  㭨쭮      ࠭祭 UNIQUE.

ࢨ     祭 NULL.  砥 ,
   ࠭祭 UNIQUE,   ᯮ㥬  -
祭 PRIMARY KEY  㦥   NOT NULL .
 襭 ਠ ᮧ 襩 ⠡ த殢 :

       CREATE TABLE Salestotal
          ( snum     integer NOT NULL PRIMARY KEY,
            sname    char(10) NOT NULL UNIQUE,
            city       char(10),
            comm     decimal);

  , 㭨쭮 (UNIQUE)      ⮩ 
 ᠬ ⠡.  ᥣ  ࠭祭 PRIMARY KEY  -
(  ) ஥ 㤥 ࠧ뢠  㭨 䨪 
ப,  ࠭ ࠭祭 UNIQUE      
㭨묨 ᪨ ( ⠪   ⥫䮭   sname ),   
 䨪樨 ப.

       
࠭祭 PRIMARY KEY  ⠪  ਬ  ᫥-
 , ⠢ 㭨  祭. 
।   ࢨ  -  ,    ࢮ  
 ᫥  ࠭묨   ࠧ  ( ⠪    
࣠뢠       ). 祢,   ࢮ 
 ᫥   ⠢  㭨 ᠬ⥫쭮,   
     権 ᤥ 㭨쭮.
   ਬ ࠭祭 ⠡ PRIMARY KEY  :

        CREATE TABLE  Namefield
        ( firstname         char (10) NOT NULL,
          lastname         char (10) NOT NULL
          city               char (10),
          PRIMARY KEY  ( firstname, lastname ));



         224            SQL       
______________________________________________________________________
              . 18


 ஡  ⮬ 室 ,    㤨 
㭨쭮 - ਬ,  Mary Smith  M. Smith.  
  㦤, ⮬   㦠騥     
  . 筮   ᯮᮡ ⮡ । ᫮ 
 ஥   ⫨  ப  㣮,   -
 ,  ਬ ࠭祭 UNIQUE    .


  

筮,   ᫮ ࠭祭   ⠭-
      ⠡, ⮡ , ਬ, 
室    ᮮ⢥饬   ࠢ쭮 
ଠ,  祬 SQL ⢥    ࠭.
 ⮩ 稭, SQL ᯥ稢  ࠭祭 CHECK, ஥
  ⠭ ᫮ ஬  㤮⢮ -
   ⠡, ० 祬  㤥 ਭ. ࠭祭 
CHECK ⮨  祢 ᫮ CHECK ᮯ஢ ।-
 ।,  ᯮ 㪠 .  ⪠ -
஢  ⠢ 祭  ஥   ᤥ  
।  - 㤥 ⪫.

 ᬮਬ  ࠧ ⠡ த殢. ⮫ ᨮ
ࠦ  ᫮  ⮬   㬭 -
।⢥  㬬 ਮ⥭  १ 祣 㤥 祭 
㬬 ᨮ( ) த  ⠭ ࠢ -
 ( $ ) .
-  ᯮ짮 ⨥ 業,  ,   ⮬ 
  . ᫨ 祫   訡 14  .14 ⮡ 㪠 
業 ᢮ ᨮ,  㤥 業  14.0 ,  -
   祭,  㤥 ଠ쭮 ਭ -
. ⮡ ।  訡,    ࠭祭 
⮫ - CHECK ⮡ 㡥   祭  祬 1.

       CREATE TABLE Salespeople
          ( snum     integer NOT NULL PRIMARY KEY,
            sname    char(10) NOT NULL UNIQUE,
            city       char(10),
            comm     decimal CHECK ( comm < 1 ));



                          225
______________________________________________________________________


 - CHECK,  
  
 
  ⠪ ᯮ짮 ࠭祭 CHECK ⮡   
   । 祭,  ⠪ ࠧ । 訡-
.  ਬ, ।,  ⢥묨 த    
 ⢠   , ᥫ,  ,    .
᫨    த ࠡ騥     ,  
室   㣨 祭. ᫨  , ᯮ짮 
࠭祭  । ⪨  㣨 訡. 

    CREATE TABLE Salespeople
        (snum     integer NOT NULL UNIQUE,
         sname    char(10) NOT NULL UNIQUE,
         city     char(10) CHECK,
        (city IN ('London', 'New York', 'San Jose', 'Barselona')),
         comm     decimal CHECK (comm < 1 ));

筮, ᫨  ᮡࠥ ᤥ ,    㢥७  
   뫠 㦥  㣨  . 設-
⢮ ணࠬ   ন  ALTER TABLE( . 
 17 )     । ⠡,  
  室  ᯮ짮. ,   㤠 
࠭祭  ᥣ    ,  ⠬   த 
 ন.
   ᫨  ᯮ짮 ⥬    㤠 ࠭祭,
 㤥  ᮧ (CREATE)  ⠡  । -
  ன ⠡   直 ࠧ,     -
祭. 筮       ,   ६ -
 ⠭  .

 ⠡ 浪:
  
  CREATE TABLE Orders
    (onum     integer NOT NULL UNIQUE,
     amt      decimal,
     odate    date NOT NULL,
     cnum     integer NOT NULL,
     snum     integer NOT NULL);



    226            SQL     
________________________________________________________________
          . 18

  㦥 ਫ   2, ⨯ DAT() ப ন-
,     ⠭ ANSI.    ᫨  -
㥬  ,  ᫥ ANSI,  ᯮ ⨯ DAT? 
᫨    odate  ⨯ ᫠,   ᬮ ᯮ-
   ࠢ (/)   (-)  ⢥ ࠧ-
⥫.   ⠥  -  ᨬ ASCII,   -
 ⨯  odate - CHAR. ᭮ ஡  ⮬,   㤥 
 ᯮ짮  窨 直 ࠧ,  뫠 
 祭  odate  .   ⮣ 襭 ⮩ 
஡ ⠬  ⨯ DAT ⠫ ⠪ .  ⢥ -
樨,    odate - ⨯ CHAR.    ࠩ-
      ଠ  ࠭祭 CHECK:

       CREATE TABLE Orders
         ( onum        integer NOT NULL UNIQUE,
           amt         decimal,
           odate       char (10) NOT NULL CHECK ( odate LIKE
                         '--/--/----'),
           cnum        NOT NULL,
           snum        NOT NULL );

஬ ⮣, ᫨  ,    ࠭祭, ࠭-
騥   ᨬ - ᫠,    -  । 祭 
襣 .

  
   
  ⠪ ᯮ짮 CHECK  ⢥ ⠡筮 ࠭祭. 
            
ப  ᫮. ।  ᨮ  .15  ,  ࠧ-
襭 ⮫쪮  த  ᥫ.   㪠   ᫥-
騬 ⠡ ࠭祭 CHECK :

       CREATE TABLE Salespeople
         ( snum        integer NOT NULL UNIQUE,
           sname      char (10) NOT NULL UNIQUE,
           city         char(10),
           comm       decimal,
           CHECK    (comm < .15 OR city = 'Barcelona'));



                          227
______________________________________________________________________

   ,  ࠧ    ஢७ 
⮡ ।, ७ ।  .   ,   - 
ࠧ    ⮩  ப.    ᯮ짮 -
᫥ , SQL   ஢   ப -
.    ਬ ᯮ짮 ࠭祭 CHECK ⮡ 
㤮⮢   ᨮ   த .
⮡ ᤥ , SQL  直 ࠧ ᬠਢ 㣨 ப 
⠡,     ⠢ ப, ,  -
祭 ᨮ 㪠  ⥪饣 த.
SQL ⮣   㬥.

᪨,    ᯮ짮 ᫮ ࠭祭 CHECK  
㯮⮣, ᫨   ࠭,    -
  ࠧ த. ਬ,    ⠭ ࠭祭 
⨯ ⮣:

     CHECK ( ( comm = .15 AND clty = 'London' )
        OR ( comm = .14 AND city = 'Barcelona' )
        OR ( comm = 11 AND city = 'San Jose').. )

 稫 .   ⠪  ࠭祭,   
  ᯮ짮 ।⠢  । WITH CHECK 
OPTION ஥    ᫮  ᢮ । ( ᬮ  
20  21  ଠ樨  ।⠢   WITH CHECK OPTION). 
짮⥫    ।⠢ ⠡  ᠬ 
⠡.   २ ⮣ 㤥 ,  楤  
 ࠭祭  㤥 ⠪   㤮. ।⠢ 
 WITH CHECK OPTION - 訩 ⥫ ࠭祭 CHECK, 
 㤥    21.


  

  ⠢ ப  ⠡  㪠 祭  
  , SQL   祭  㬮砭 
祭   । ,    㤥 ⪫.
 騬 祭  㬮砭  - NULL.
 - 祭  㬮砭   ⮫, ஬  뫮 
 ࠭祭 NOT NULL    㣮 祭 
 㬮砭.

祭 DEFAULT( ) 㪠뢠   
CREATE TABLE ⥬  ᯮᮡ   ࠭祭 ⮫, ,



    228                SQL    
______________________________________________________________________
           . 18

 孨᪮ 窨 ७, 祭 DEFAULT  ࠭⥫쭮 
᢮⢠ -   ࠭稢 祭    , 
  ।,    ᫨     
 .
।   ࠡ⠥    ઠ  饥
設⢮  த殢    થ.   㪠
   ⢥ 祭  city,  㬮砭,  襩 
⠡ த殢:

       CREATE TABLE Salespeople
         ( snum     integer NOT NULL UNIQUE,
           sname    char(10) NOT NULL UNIQUE,
           city       char(10) DEFAULT = 'New York',
           comm     decimal CHECK (comm < 1);

筮,  祭    ⠡  ࠧ  -
砥  த,  ⠪  室,   
७  (    )  ᫨    ஥ 
祭. 祭  㬮砭 ⠪ ⨯,  ।⥫쭮, 
祬, ਬ,  ᪨  㪠뢠騩   ᮡ-
⢥ ⢮,  ⠡ 浪.
 ᫮ 祭 -  ᯮ  訡, ⮬ 
᫨ 饥 設⢮ (   )  浪  
  ᮡ⢥ ᪨ , ⥫쭮 ⠭ 
  祭  㬮砭.

㣮 ᯮᮡ ᯮ짮 祭  㬮砭 -  ᯮ짮 
  ୠ⨢  NULL.   NULL (䠪᪨) ७  
 ࠢ,  祬 IS NULL,    ᪫祭   
設⢠ ।⮢. ,  㦭   祭 -
   ࠡ뢠  - । ࠧ.  
⠭ 祭  㬮砭, ⨯   ஡,  㭪-
樮쭮   祭 祬   ⠭ 祭 - 
⮥ 祭(NULL). 稥     NULL  ⮬, 
 SQL 㤥 ࠡ뢠  ⠪    㣮 祭.

।,  稪  祭 業 砫쭮.   
 楢,  蠥 業 ᥬ 訬 稪, 騬
業  ।,     ।⥫쭮   -
 祭 業. ᫨      稪  
㯯, ᫥騩  ᪫  稪  業 = NULL:



                          229
______________________________________________________________________


         SELECT *
            FROM Customers
            WHERE rating < = 100;

, ᫨  稫 祭 㬮砭 = 000,    rating, 
稪  業  ࠭   㣨.  ਮ  
⮤ -   樨.
᫨  㤥      業,     
 ப  祭,  ᪫ ?
 㣠 ࠪ⨪ 祭  㬮砭 ⮣ ⨯,   
  業 -  NOT NULL.
᫨  ᯮ  㬮砭, ⮡  祭 = NULL, 
  - ⭮    訡.

  ⠪ ᯮ짮 ࠭祭 UNIQUE  PRIMARY KEY
 ⮬ . ᫨  ᤥ , ,   ,  ⮫쪮  ப 
६   祭  㬮砭.  ப  
ᮤন 祭  㬮砭 㦭 㤥 ஢ ०, 祬 
㣠 ப  ⠭  㬮砭 㤥 ⠢.   ⠪  
 筮 ᯮ 祭  㬮砭, ⮬ ࠭祭 UNIQUE 
 PRIMARY KEY ( ᮡ ᫥ ) 筮  ⠭  ப
 祭ﬨ  㬮砭.


=============       ================

 ⥯  ᪮쪨 ᯮᮡ ࠢ 祭ﬨ
      ⠡.   ᯮ짮
࠭祭 NOT NULL ⮡ ᪫ NULL, ࠭祭 UNIQUE
⮡ 㦤  祭  㯯     ⮫殢
⫨   㣠, ࠭祭 PRIMARY KEY,  ⮣ ⮡
  ᭮   ᠬ   UNIQUE   ࠧ -
,   ࠭祭 CHECK  ।  ᮡ⢥-
 ᤥ   ᫮, ⮡ 祭 祭 । 
    . ஬ ⮣,   ᯮ짮 ।-
 DEFAULT, ஥ 㤥 ⮬᪨ ⠢ 祭  
㬮砭       㪠  INSERT, ⠪   
⠢ 祭 NULL  । DEFAULT  ⠭ 
  ࠭祭 NOT NULL.




     230            SQL    
______________________________________________________________________
          . 18


FOREIGN KEY  REFERENCES ࠭祭    㧭 
  19 祭 宦  ,  ᪫祭 ⮣,   뢠-
 㯯       㣮 㯯,  ⠪ ࠧ 
ࠧ   祭       
  㯯.



                             231
______________________________________________________________________


*************   SQL ***************

1.  ⠡ 浪 ⠪ ⮡  祭  onum,  ⠪
    樨  cnum  snum ⫨砫   㣠,  ⠪ 
    祭 NULL ᪫砫   .

2.  ⠡ த殢 ⠪ ⮡ ᨮ,  㬮砭,
   ⠢﫨 10%,   ࠧ蠫 祭 NULL, ⮡  snum -
    ࢨ 箬,  ⮡   뫨  䠢⭮ 浪 
    A  M ⥫쭮( 뢠,     ⠭ 
    孥 ॣ ).

3.  ⠡ 浪,  㢥७묨  ⮬   onum
    祬  cnum,  cnum  祬 snum. 饭 祭
   NULL      .

( . ਫ A  ⢥⮢. )





                                                                                19




                              

                                      
                   



   234           SQL    
______________________________________________________________________
         . 19

   ,    
裡    묨 ﬨ  ⨯
⠡.  snum ⠡ 稪, ਬ, ᮮ⢥  
snum  ⠡ த殢  ⠡ 浪.  cnum ⠡ 
稪 ⠪ ᮮ⢥  cnum ⠡ 浪.
   ⨯ 裡 - ࠢ筮 楫⭮;   室 -
,      ᯮ짮.

 ⮩ ,  㤥 ᫥ ࠢ 楫⭮  -
஡  ᭨  ⭮⥫쭮 ࠭祭    -
짮 ⮡  ন.  ⠪ 㢨,  ।뢠-
  ࠭祭   ᯮ  䨪樨 DML. 
᪮ ࠢ筠 楫⭮ 砥  ᥡ    㯯 
,   ࠧ ⠡,  ⢨   ᪮쪮 ᫮-
 祬 㣨 ࠭祭. 
 ⮩ 稭,      ⢮,  ᫨  
  ᮧ ⠡.   䨪樨   
䥪⨢   ࠭祭 ࠢ筮 楫⭮ (    
 㣨 ࠭祭,  ࠭祭 ࠢ筮 楫⭮ 
 ⢮  㣨 ⠡ ஬     ।-
),  । 㭪樨 , ⠪  쥤,  
⭮ ஢  ନ 痢 ࠢ筮 楫⭮ 
(  ન   8 ).


=        =

  祭    ⠡ ।⠢   㣮 
⠡,  ਬ  ࢮ  뫠  ஥. 
 㪠뢠     祭ﬨ  . ਬ, 
  稪  ⠡ 稪   snum ஥ 㪠-
뢠  த 祭  ⠡ த殢. 
  浪  ⠡ 浪,    ⮫쪮  -
    ⮫쪮  稪.  ⮡ࠦ    
snum  cnum  ⠡ 浪.

    ⠡ 뫠  㣮,  뢠 - 譨 
箬;     ஥  뫠, 뢠 - த⥫᪨ 箬. 
   snum ⠡ 稪 -  譨 ,   snum  
஥  뫠  ⠡ த殢 -  த⥫᪨ .



                           235
______________________________________________________________________


筮,  cnum  snum ⠡ 浪 -  譨 
 뫠   த⥫᪨ 砬    ⠡ -
稪  ⠡ த殢.  譥   த⥫᪮
  易⥫쭮   묨,  - ⮫쪮 ᮣ襭 
஬  ᫥㥬 ⮡  ᮥ  .


-  

 ⢨⥫쭮, 譨   易⥫쭮 ⮨ ⮫쪮   
.  ࢨ筮 , 譨     ᫮ 
,   ࠡ뢠   . 譨   
த⥫᪨     뫠, 筮 ,   
   ⨯ ,  室   浪. 譨 
 騥    -    ᯮ짮 ᪫⥫쭮  
 ⨯ ⠡,  騥.
⮡ ࠭  襣 㦤,  㤥    
譥    筮 ⮫.   砩. ᫨   -
,  ᪠   ஥  譨 箬,   
⠪ ⭮   㯯    譨 箬.


     
  -  譨 箬,  । ࠧ 易
 ⠡楩    뫠. , 䠪᪨,  - "  
祭  ⮬  ( 譥  ) ।⢥ ਢ易  -
祭  㣮  ( த⥫᪮   )."   祭 (  
ப ) 譥   ᫥ 뫠    
⮫쪮 ⮬ 祭 (ப) த⥫᪮ .
᫨  ⠪,  䠪᪨  ⥬,  , 㤥  ﭨ 
ࠢ筮 楫⭮.
    㢨   ਬ. 譨  snum  ⠡ -
稪  祭 1001  ப Hoffman  Clemens.
।     ப  ⠡ த殢  祭 
  snum = 1001.
  㧭,  ஬   த殢 뫨 祭 稪 
Hoffman  Clemens ?  筮, ᫨   ⠪ ப  ⠡ 
த殢,  稬 Hoffman  Clemens 祭묨  த 
ண  !



     236            SQL      
______________________________________________________________________
           . 19

⭮,   祭  譥    ।⠢-
 ,  ⮫쪮  ࠧ,  த⥫᪮ .

᪨,  祭 譥   뫠 ⮫쪮
  祭 த⥫᪮   । ⭮ -
: ..  ᫮ 譨 祩  뫠  ⢥
祭 த⥫᪮ .   㢨   ⨯ ⠡ 
 ਬ஢.  Hoffman  Clemens 祭  Peel, ⠪    
祭 譥  ᮢ    ⥬  த⥫᪨ -
箬,  祭 . 祭 譥   뫠 ⮫쪮 
  祭 த⥫᪮ ,  祭 த⥫᪮ -
  뫠    ⢠ 祭 譥 
.
 ⢥ 樨, 祭 譥   ⠡ 稪,
ᮢ訥   த⥫᪨ 箬  த殢 ⠡,  뢠 
 㭪 19.1.   㤮⢠   뢠   ⭮騥  ⮬ 
ਬ.


=======    FOREIGN KEY   =======

SQL ন ࠢ 楫⭮  ࠭祭 FOREIGN KEY.
 ࠭祭 FOREIGN KEY -   ᮡ  SQL,   
 ᯥ稢  㭨ᠫ쭮. ஬ ⮣,   ॠ樨, 
 ᫮ 祬 㣨.  㭪  ࠭稢 祭 -
        ⮡ ⠢ 譨   த⥫᪨  ᮮ⢥⢮ ਭ樯 ࠢ筮 楫⭮.
  ⢨ ࠭祭 譥  -   뢠 祭 
  ࠭祭  譨     ।⠢  -
⥫᪮ .  ࠭祭 ⠪    ᯮᮡ 
  㤠 祭 த⥫᪮  (  㤥 㦤 
   ⮩  ).


    
   

 ᯮ ࠭祭 FOREIGN KEY   CREATE TABLE
(  ALTER TABLE ),  ᮤন  ஥   
譨 箬.    த⥫᪮   ஥  㤥 
뫠  ࠭祭 FOREIGN KEY. 饭 ⮣ ࠭-
   - ⠪     㣨 ࠭祭 㦤  
।饩 .



                         237
______________________________________________________________________

















  


㭮 19.1:  譨  ⠡ 稪  த⥫᪨ 箬 




    238             SQL       238
______________________________________________________________________
           . 19

 設 ࠭祭,    ࠭祭 ⠡ 
 ⮫,  ଥ ⠡ 饩 ᯮ짮 ᫥ 
   譨 .


    

⠪ ࠭祭 ⠡ FOREIGN KEY:

   FOREIGN KEY <column list> REFERENCES 
            <pktable> [ <column list> ]

 ᯨ᮪ ⮫殢 -  ᯨ᮪     ⮫殢 ⠡, 
 ⤥ 묨   ᮧ   ⮩ . 
Pktable -  ⠡ ᮤঠ த⥫᪨ .    ⠡-
楩,  ᮧ   ⥪饩 . ன ᯨ᮪ 
⮫殢 -  ᯨ᮪ ⮫殢   ⠢ த⥫᪨ . 
᪨  ⮫殢   ᮢ⨬, ..:

*     ᫮ ⮫殢.

*   ᫥⥫쭮, , ன, ⨩,  ..,
  ⮫ ᯨ᪠ ⮫殢 譥 ,   
  ⨯   ࠧ,   , ன, ⨩,  .., ⮫ 
  ᯨ᪠ ⮫殢 த⥫᪮ . 
  ⮫  ᯨ᪠  ⮫殢     ,
     ᯮ짮 ⠪ ᯮᮡ   ਬ ⮡ 
    ⭮.

 ⠡ 稪   snum ।  ⢥
譥  뫠饣  ⠡ த殢:

            CREATE TABLE Customers
            ( cnum   integer NOT NULL PRIMARY KEY
              cname  char(10),
              city   char(10),
              snum   integer,
              FOREIGN KEY (snum) REFERENCES Salespeople
              ( snum );



                        239
______________________________________________________________________


  ,   ᯮ짮 ALTER TABLE  CREATE TABLE, 
 ਬ ࠭祭 FOREIGN KEY, 祭   㪠뢠 
 譥   த⥫᪮ ,    ﭨ ࠢ-
 楫⭮.   㤥 ⪫.   ALTER TABLE 祭 
 -  㤮⢠,   㤥  襩 ⥬,  -
  ࠧ, ᭠砫 ନ஢  ਭ樯, ⨯ ࠢ-
 楫⭮.


    

ਠ ࠭祭 ⮫ ࠭祭 FOREIGN KEY -  㣮 -
 - 뫮筮 ࠭祭 (REFERENCES), ⠪   䠪᪨  -
ন  ᥡ ᫮ FOREIGN KEY,   ᯮ ᫮ REFERENCES, 
   த⥫᪮ ,  ⮬:

         CREATE TABLE Customers
          ( cnum   integer NOT NULL PRIMARY KEY,
            cname  char(10),
            city   char(10),
            snum   integer REFERENCES Salespeople (snum));

㯮⮥ । Customers.snum  譨   ண
த⥫᪨  -  Salespeople.snum.  ⭮ ⠪ ࠭-
祭 ⠡:

    FOREIGN KEY (snum) REGERENCES Salespeople (snum)



     

ᯮ ࠭祭 FOREIGN KEY ⠡  ⮫,  
 㪠뢠 ᯨ᮪ ⮫殢 த⥫᪮  ᫨ த⥫᪨  
 ࠭祭 PRIMARY KEY. ⢥,   砥 祩  
ﬨ, 冷 ⮫殢  譨  ࢨ   ᮢ, 
,   砥, ਭ樯 ᮢ⨬   砬   
ਬ. ਬ, ᫨  ⨫ ࠭祭 PRIMARY KEY   
snum ⠡ த殢,    ᯮ짮   譨



      240           SQL        
_____________________________________________________________________  
           . 19

  ⠡ 稪 ( ।饬 ਬ)  ⮩ :

         CREATE TABLE Customers
          ( cnum   integer NOT NULL PRIMARY KEY,
            cname  char(10),
            city    char(10),
            snum   integer REFERENCES Salespeople);

 ।⢮ ࠨ  , ⮡   ᯮ짮 ࢨ-
   ⢥ த⥫᪨ 祩.


   
  

ঠ ࠢ筮 楫⭮ ॡ  ࠭祭 
祭,    ।⠢  ,   -
   த⥫᪨ . ⥫᪨    ७, 
⮡ ࠭஢,   祭 譥  㤥 ᮮ⢥-
  㪠 ப.  砥,   ()   
㭨   ᮤঠ   祭(NULL). ⮣  -
筮  த⥫᪮   砥 믮 ⠪ ॡ  
  譥 . SQL   㢥७   -
祭   祭 (NULL)  뫨   த⥫᪨ .
⥫쭮   㡥,   ,  ᯮ  
த⥫᪨ ,   ࠭祭 PRIMARY KEY  ࠭-
 UNIQUE,  ࠭祭 NOT NULL. 

    
   

뫪  譨 祩 ⮫쪮  ࢨ ,     
 ⨯ ⠡, -   ⥣.   ᯮ 譨 -
,  뢠     த⥫᪨ 砬    -
;  뢠   । ப ⠡   த⥫-
  㤥 .   ᥡ த⥫᪨   ᯥ稢 -
 ଠ樨    뫠 㦥 ।⠢  譥 . 
, ਬ,  snum  譥   ⠡ 稪 -  
   ᯥ稢,   祭  snum  ஥  뫠-
,   㣮 ଠ樨  ⠡ த殢, ⠪ ਬ ,




                            241
______________________________________________________________________

 த殢,  ⮯,  ⠪ . 
譨  -       묨 祭ﬨ; 
 - ,     祭,   ப ⠡ 
㪠  .
    snum  ᯮ짮 ⮡ 뢠  ଠ
 ப  ⠡ 稪  뫮筮 ப  ⠡ த殢 - 
ਬ ⮡ 㧭 -     ⮬  ᠬ த,   -
  ,   த ஬  稪 - 㣨 
稪,  ⠪ .
    楫 ࢨ筮  ⮨  ⮬, ⮡ ஢ 㭨-
쭮 ப,       롮  -
 .   譥   ᯮ 㭨  
 த⥫᪨ ,   ᮧ 譨    ᯮ-
 ࢨ  ⮩  ᠬ ⠡  ⮣  ᠬ ⢨. 
譨      㣮 楫 ஬ 뢠 ப, 
 ࢨ  ᯮ㥬 ᪫⥫쭮  䨪樨 
ப,   訬 ।⢮ ࠭  襩   
᭮  ⮩,  - ᫥⥫쭮 ᮧ饩  㤭⥩.


  

 譨 ,  ⭮,  ᮤঠ ⮫쪮  祭 
䠪᪨ ।⠢  த⥫᪮   (NULL). ⪠ 
 㣨 祭    㤥 ⪫.
     譨   NOT NULL,   易⥫쭮,  
 設⢥ 砥, ⥫쭮. ਬ, ।,   -
 稪   ࠭,   த  㤥 祭. 訩 
室  ⮩ 樨, 㤥 ᫨ ᯮ짮 祭 NOT NULL, ஥ 
     ⭮ 祭.


 ,   
  

 ᫮,   譨  ᮧ   ⠡ ਬ-
஢,   ।ᠭ  ࠭祭ﬨ 譥 , ᫥騬 



    242           SQL   
______________________________________________________________________
          . 19

ࠧ :

       CREATE TABLE Salespeople
         (snum  integer NOT NULL PRIMARY KEY,
          sname char(10) NOT NULL,
          city  char(10),
          comm  decimal);

       CREATE TABLE Customers
         (cnum   integer NOT NULL PRIMARY KEY,
          cname  char(10) NOT NULL,
          city   char(10),
          rating integer,
          snum   integer,
          FOREIGN KEY (snum) REFERENCES Salespeople,
          UNIQUE (cnum, snum) ;

      CREATE TABLE Orders
        (cnum  integer NOT NULL PRIMARY KEY,
         amt   decimal,
         odate date NOT NULL,
         cnum  integer NOT NULL
         snum  integer NOT NULL
         FOREIGN KEY (cnum, snum) REFERENCES
         CUSTOMERS (cnum, snum);


  

 ᪮쪮 ਡ⮢ ⠪ ।   㦭 .
稭  ன  訫 ᤥ  cnum  snum  ⠡ -
,  譨 箬 -  ࠭ ⮣,    稪 
ᮤঠ饣  浪, த ।騩  冷 -   
 㪠  ⠡ 稪. ⮡ ᮧ ⠪ 譨 ,  -
    ࠭祭 ⠡ UNIQUE    ⠡ 
稪,  ᫨  易⥫쭮  ᠬ ⮩ ⠡.   
cnum  ⮩ ⠡  ࠭祭 PRIMARY KEY,  㤥 㭨쭮 
  砥,  ᫥⥫쭮      
 cnum  - 㣨 .
   譥  ⠪ ᯮᮡ ন 楫⭮  
,  ᫨  ⮬  㤥 饭 ७ 뢠  
訡  ।⮢  த,  祬   祭 
 ⮬ 稪.



                                 243
______________________________________________________________________

 窨 ७ ঠ 楫⭮  , ७ 뢠-
 (  ᪫祭 ) 筮  ⥫. ᫨   ᪠  
   ६  ন 楫⭮ 襩  ,  -
   snum  cnum  ⠡ 浪 ᨬ묨 譨-
 砬    ⠡ த殢  ⠡ 稪, ᮮ⢥-
.
᪨, ᯮ짮  snum  ⠡ 浪,    , 
易⥫쭮,    뫮 ᤥ  ࠧࠧ.  cnum 
뢠  冷 稪  ⠡ 稪,  ⠡ 浪 
  ⠡ 稪,  ᥣ  騬 ⮡ 室 ࠢ쭮 
 snum   浪 (  ࠧ  ᪫祭 ).
 砥   뢠 ࠣ ଠ樨 -  稪 -
祭   த - ,  㦭 㤥 믮 ⥫ 
ࠡ ⮡ 㤮⮢,   ᨨ ᮣ.
᫨    ࠭祭 譥   ᪠ ,  -
 㤥 ᮡ ஡筠, ⮬   冷 㦭 㤥 
஢  (   ᮬ ), ⮡ 㤮⮢   
ᮮ⢥騩 த ।⮢  ᮮ⢥ த. 
稥 ⠪ ⨯ ଠ樮 筮  襩  , -
뢠 ࠫ ( denormalization ),   ⥫쭮  쭮 
५樮  ,  ࠪ᪨    ࠧ襭. 
ࠫ  ⠢   믮 ॥, 
᪮    ⠡ 믮 ᥣ ⥫쭮 ॥ 
祬  쥤.


 

 ⠪ ࠭祭       
 ᯮ짮  䨪樨 DML?   , ।-
  譨 , ⢥ 쭮 ⮩:  祭   
頥      INSERT  UPDATE  㦥 
।⠢   த⥫᪨ .    (NULL)
祭    , ᬮ    祭 NULL  ⥫  
த⥫᪨ , ᫨   ࠭祭 NOT NULL.   
㤠 (DELETE )  ப  譨 砬  ᯮ த-
⥫᪨  .



        244        SQL      
______________________________________________________________________
             . 19

᪮ ஭    祭 த⥫᪮ ,
⢥,  । ANSI,  ,   ᪮쪮 
࠭祭:  祭 த⥫᪮  뫠  
祭 譥 ,    㤠  . 
 砥, ਬ,     㤠 稪  ⠡ 
稪     浪  ⠡ 浪.
 ᨬ  ⮣,   ᯮ  ⠡,    
 ⥫쭮  嫮⭮.  -  筮  祬  -
⥬,    㤠 稪  ⥪騬 浪  -
⠢ ⠡ 浪 뫠饩   稪.
 ⮩ ⥬ 祭  ⮬,  ᮧ⥫ ⠡ 浪, 
ᯮ ⠡ 稪  ⠡ த殢  த⥫᪨ -
   ⥫ ࠭祭  ⢨   ⠡. 
 ⮩ 稭,   ᬮ ᯮ짮 ⠡ ன   -
裂 ( ..    ᮧ      楬), -
 (ᮧ⥫) ⮩ ⠡ ᯥ樠쭮  ।    
ࠢ (     22).
      㣨  ⢨  த⥫-
 ,     ANSI,      
 ᪨ ணࠬ. ᫨     㤠 
⥪饥 뫮筮 祭 த⥫᪮ ,    
 :

*      ࠭,  ,  ( ᯮᮡ ANSI ),  
     稢,    த⥫᪮  - ࠭祭.

*      ᤥ   த⥫᪮   ⥬ ᠬ ᤥ-
        譥  ⮬᪨,  뢠 -
     ᪠ .

*      ᤥ   த⥫᪮ ,  ⠭ -
     譨   NULL, ⮬᪨ ( ,  NULLS ࠧ襭  
     譥  ),  뢠 -   譥 .
                  

  ।   ⥣਩,     ࠡ뢠  
 䨪樨 ⠪ ᯮᮡ. INSERT, 筮,    ⭮. 
 頥  祭 த⥫᪮   ⠡, ⠪    
  祭    맢   . ,   
  䨪  ᪠묨,   㤠,  . 
襩       ।   



                                 245
______________________________________________________________________

⥣਩, ᨬ   UPDATE  DELETE.  㤥 ᫥-
⥫쭮 뫠  䥪 䨪樨 (update effects)  䥪 㤠 
( delete effects ),  ।,   ᫨  믮 -
 UPDATE  DELETE  த⥫᪮ . 
 䥪,    ਫ, 뢠: 
࠭祭 (RESTRICTED) , 
᪠㥬 (CASCADES) ,  
 (NULL) .
  ᪨  襩 ⥬    ண  ⠭-
 ANSI -  䥪 䨪樨  㤠, , ⮬᪨ ࠭-
祭 -   쭮 樨 ᠭ .  ⢥ -
樨,   ᪮쪮 ਬ஢ ⮣,       
஬ 䥪⮢ 䨪樨  㤠. 筮, 䥪 䨪樨 
 㤠, 騥 ⠭묨 ।⢠, 뢠 ⮪ 
 ⠭⭮ ᨭ⠪. ⠪   ᯮ㥬 ,   
ᠭ  㤥 㦨  쭥襬  樨 㭪権  
䥪⮢.

  ᯥਬ,  ᥡ ।    -
   snum  ⠡ த殢  砥,   ⠡ 
த殢  ࠧ. ( 筮  ࢨ 祩    
  ४㥬  ࠪ᪨.        
 ࢨ 祩   㬥  祣 㣮 ஬ 
, ⢮  ࢨ :    . )   
  த,   ⮡ 뫨 ࠭   稪. 
, ᫨  த  ᢮   ,    
 㤠  稪,  㤠  ᠬ   . 
,   㡥,  稪 祭 - . 
⮡ ᤥ    㪠 UPDATE  ᪠㥬 䥪⮬ , 
 DELETE  ࠭祭 䥪⮬.

          CREATE TABLE Customers
            (cnum integer NOT NULL PRIMARY KEY,
             cname char(10) NOT NULL,
             city  char(10),
             rating integer,
             snum   integer REFERENCES Salespeople,
             UPDATE OF Salespeople CASCADES,
             DELETE OF Salespeople RESTRICTED);

᫨  ⥯ ஡ 㤠 Peel  ⠡ த殢,  
㤥  ⨬,     祭  snum 稪



      246             SQL     
______________________________________________________________________
              . 19

Hoffman  Clemens  㣮 祭 த. 
 㣮 ஭,    祭  snum  Peel  
1009,   Hoffman  Clemens  ⠪ ⮬᪨ .

  ⨩ 䥪 -  (NULL) . 뢠,   த 
⠢ ,  ⥪騥 浪  । 㣮 த. 
 㣮 ஭,   ⬥  浪 ⮬᪨  -
稪,    㤠.   த  稪  
 ।  . ਬ  뢠,    ᮧ 
⠡ 浪  ᯮ짮  䥪⮢.

        CREATE TABLE Orders
           (onum integer NOT NULL PRIMARY KEY,
            amt decimal,
            odate date NOT NULL
            cnum integer NOT NULL REFERENCES Customers
            snum integer REFERENCES Salespeople,
            UPDATE OF Customers CASCADES,
            DELETE OF Customers CASCADES,
            UPDATE OF Salespeople CASCADES,
            DELETE OF Salespeople NULLS);

筮,   DELETE  䥪⮬ ⮣   ⠡ 
த殢, ࠭祭 NOT NULL   㤠   snum.


   
    

 뫮 㯮 ࠭, ࠭祭 FOREIGN KEY   ।⠢ 
 ⮩ ⭮ ⠡,  ⠡ த⥫᪮ .   -
 ⮩,  ᮡ  ਣ. ।,   
 ⠡ Employees   manager().   ᮤ-
    㦠,       -
ࠬ. 
 ⠪    -    ६ ⠥ 㦠騬,  
 ⢥  ⠪ ।⠢  ⮩ ⠡.  ᮧ
⠡,   㦠饣 ( ⮫   empno ),  
ࢨ ,  ,  譨 , 㤥 뫠



                                 247
______________________________________________________________________

 :

     CREATE TABLE Employees
        (empno   integer NOT NULL PRIMARY KEY,
         name    char(10) NOT NULL UNIOUE,
         manager integer REFERENCES Employees);

(   譨   뫠 ࢨ  ⠡, ᯨ᮪ 
⮫殢   ᪫祭. )   ᮤঠ ⮩ ⠡:


          EMPNO          NAME           MANAGER
          _____         ________        _______

          1003          Terrence         2007

          2007          Atali            NULL

          1688          McKenna          1003

          2002          Collier          2007


   ,   (   Atali ) , 뫠  㣮 
㦠饣  ⠡   ᢮ . Atali, 騩 -
訩   ⠡,   祭 ⠭  NULL. 
  㣮 ਭ樯 ࠢ筮 楫⭮. 譨 ,  
뫠 ⭮  ⭮ ⠡,   祭 = NULL.
᫨   ⠪,     ⠢  ப ?
 ᫨  ࢠ ப 뫠  ᥡ ᠬ, 祭 த⥫᪮ 
  㦥  ⠭,   祭 譥 -
.   ਭ樯 㤥 ७,  ᫨ 譨  뫠 ⭮  
⭮ ⠡      뫪  㣮 ⠡,  
⥬ 뫠 ⭮  ⠡ 譥 . ਬ, ।, 
  ⠡ த殢  ⥫쭮  ஥ 뫠  
⠡ 稪, ⠪,   ⠡ 뫠  ,   
 ᫥饬  CREATE TABLE:

         CREATE TABLE Salespeople
           (snum  integer NOT NULL PRIMARY KEY,
            sname char(10) NOT NULL,
            city  char(10),
            comm  declmal,
            cnum  integer REFERENCES Customers);



      248             SQL     
______________________________________________________________________
            . 19

        CREATE TABLE Customers
          (cnum   integer NOT NULL PRIMARY KEY,
           cname  char(10) NOT NULL,
           city     char(10),
           rating  integer,
           snum   integer REFERENCES Salespeople);

  뢠 - ४⭮ 뫪.
 SQL ন  ⥮᪨,  ࠪ᪨   ⠢ 
஡.  ⠡   , ᮧ ࢮ  뫮-
 ⠡楩      㣮.   ᯥ-
 ४⭮ 뫪, SQL 䠪᪨  ,   ⠡-
  㤥 ਣ  ᯮ짮    室   
ᮧ.  㣮 ஭, ᫨   ⠡ ᮧ ࠧ묨 
짮⥫ﬨ, ஡ ⠭   㤭.
४⭠ 뫪    㬥⮬,    
筮  ᭮⥩. ।騩 ਬ, ਬ,  ᮢ-
ᥬ ਣ  ᯮ짮: ⮬   ࠭稢 த -
 稪,  ஬ ⮣ ᮢᥬ 易⥫쭮 ᯮ짮 ४-
 뫪 ⮡  ⮣.  ४㥬 ⮡  뫨 -
஦   ᯮ짮  ஢,   ணࠬ ࠢ-
 䥪⠬ 䨪樨  㤠  ⠪ ᠬ ਢ 
  ࠡ⪨ ᮢ । ⥬   ᮧ ४ 
⥬ ࠢ筮 楫⭮.
( ਢ   ࠡ⪠ ᮢ  㦤, ᮮ⢥-
⢥,   22  23.)

===============      ===============

   筮  ࠢ ࠢ筮 楫⭮.
᭮   ⮬,   祭 譥  뫠  㪠-
 ப த⥫᪮ .  砥,   祭 譥-
    ।⠢  ࠧ,  ⮫쪮  ࠧ,  த⥫-
᪮ . 直 ࠧ,  祭 頥  譨 , த-
⥫᪨  ஢, ⮡ 㤮⮢,   祭 ।-
; ,  㤥 ⪫. ⥫᪨    
ࢨ  (PRIMARY KEY)   쭮 (UNIQUE) -
祭, ࠭饥,  祭  㤥 ।⠢  祬  ࠧ. 
⪠  祭 த⥫᪮ , ஥  饥 ६ 
।⠢  譥 , 㤥  ⪫.
 ⥬ , , ।  롮, ⮡  祭 
譥  ⠭  NULL   祭  祭 -
⥫쪮 ,  㪠      祭 ᨬ


                                 249
______________________________________________________________________

  UPDATE  DELETE. 
⨬ 蠥  㦤  CREATE TABLE.
  ।⠢  㣮 ⨯  - CREATE.   20, 
  ।⠢ ꥪ⮢   룫   
 ⠡,   ⢨⥫쭮  १⠬ ᮢ.
 㭪樨 ࠭祭  ⠪ 믮 ।⠢ﬨ, 
⠪   ᬮ  業  ॡ  ࠭祭, ᫥ 
⮣,   ⠥ ᫥騥  .



    250         SQL              
______________________________________________________________________
         . 19


***************   SQL *************

1.  ⠡   Cityorders.   ᮤঠ ⠪ 
     onum, amt,  snum   ⠡ 浪,  ⠪  
   cnum  city   ⠡ 稪, ⠪  冷 
   稪 㤥    ⠡    த.
    num 㤥 ࢨ 箬 Cityorders.    Cityorders 
     ࠭祭  ࠢ  ⠡栬 稪  
   浪. ᪠,  த⥫᪨    ⠡ 㦥 
    ᮮ⢥騥 ࠭祭.

2. ᫮ ஡. ८। ⠡ 浪 ᫥騬
   ࠧ:    ⮫   prev,  㤥
   ஢   浪,  onum ।饣
   浪  ⮣ ⥪饣 稪.
   믮   ᯮ짮 譥  뫠饣 
   ᠬ ⠡ 浪.
   譨   뫠 ⠪   cnum 稪,
   ᯥ稢饣 । ।ᠭ   ⥪騬
   浪  뫠.

( . ਫ A  ⢥⮢. )




                                                                             20




                         :  


  252             SQL     
______________________________________________________________________
         . 20

 (VIEW) -     
 ᮤন    .
 - ⨯ ⠡,  ᮤঠ 롨ࠥ  㣨 ⠡  
믮 . ᪮ 祭   ⠡ ,  -
᪨,  祭     ।⠢.
   ⮩ ,  㧭  ⠪ ।⠢,   ᮧ,  -
     ࠭祭.   ᯮ짮 ।⠢ 
᭮  襭 ।⢠ ᮢ, ⠪  쥤  -
, ࠧࠡ⠭ 祭 ⥫쭮,     訩 
먨  ࠢ  ᠬ.


======     ?  =====

 ⠡,  묨      , 뢠 - 묨
⠡栬.  - ⠡,  ᮤঠ .   㣮 
 ⠡: - ।⠢. ।⠢ -  ⠡  ᮤঠ 
롨ࠥ  砥  㣨 ⠡.  ࠡ    
 DML 筮 ⠪   ᭮ ⠡,   ᮤঠ -
 ᮡ⢥ .
।⠢ -  , १   ᬠਢ ଠ-
(   ,   㣮 ଥ,   ⮬ 㢨 ),  䠪-
᪨ ࠭   ⠡. ।⠢ -  䠪᪨ , 
 믮 直 ࠧ,  ।⠢ ⠭ ⥬ -
. 뢮   ⮬    ⠭ ᮤঠ 
।⠢.


=============  CREATE VIEW  ===========

  ᮧ ।⠢  CREATE VIEW.  ⮨  ᫮ 
CREATE VIEW ( ),  ।⠢ 
஥ 㦭 ᮧ, ᫮ AS (),   ,   ᫥饬 
ਬ:


       CREATE VIEW Londonstaff
          AS SELECT *
          FROM Salespeople
          WHERE city = 'London';

   ।⠢, 뢠 Londonstaff.  
ᯮ짮  ।⠢ 筮 ⠪      ⠡.
   襭, ஢, ⠢ , 㤠 ,


                                     :     253
______________________________________________________________________


 ᮥ , 㣨 ⠡栬  ।⠢ﬨ.  ᤥ 
 ⠪ ।⠢ ( 뢮   㭪 20.1):

            SELECT *
               FROM Londonstaff;



         ===============  SQL Execution Log ============
        |                                               |
        | SELECT *                                      |
        | FROM  Londonstaff;                            |
        |                                               |
        | ==============================================|
        |   snum      sname         city         comm   |
        | ------    ----------   -----------   -------  |
        |   1001      Peel         London       0.1200  |
        |   1004      Motika       London       0.1100  |
        |                                               |
         ===============================================

20.1 㭮 20.1:  ।⠢ Londonstaff

  ਪ뢠 SQL (SELECT)  ப ( * )  ।-
⠢,  믮  ᮤঠ騩  । - Loncfonstaff,   
頥    뢮.
 ।   ।⠢,  뢥 ⮫쪮  ப  
।⠢,   㤮⢮ ⮬ ।.      
ᯮ,    15,   ⠡, 뢠 Londonstaff,  -
  ⠢﫨   ᠬ ᮤঠ ( 筮,    
⠡ -  ᫨誮 . ᫨  ⠪,  㤥   㣮 
  襣 ।⠢).  २⢮ ᯮ짮 ।⠢, 
 ࠢ  ᭮ ⠡,  ⮬,  ।⠢ 㤥 -
஢ ⮬᪨ 直 ࠧ,  ⠡    ᭮ -
. 
ঠ ।⠢  䨪஢,  ७砥  ࠧ 
  뫠  ।⠢  .
᫨    㣮, 饣   த,  ⮬-
᪨   ।⠢.



     254           SQL     
______________________________________________________________________
           . 20

।⠢ ⥫쭮  ࠢ 訬 묨.  - 
ॢ室 ᯮᮡ  㡫   ன,   ᥩ -
樨  ⠡. ᫨   ⮡  த    ⠡ 
த殢,   ⮬  뫨  ᨨ 㣨 த殢,  
  ᮧ ।⠢  ᯮ짮 ᫥饣 
( 뢮   㭪 20.2 )

       CREATE VIEW Salesown
          AS SELECT snum, sname, city
          FROM Salespeople:

             ===============  SQL Execution Log ============
            |                                               |
            | SELECT *                                      |
            | FROM  Salesown;                               |
            |                                               |
            | ==============================================|
            |   snum      sname         city                |
            | ------    ----------   -----------            |
            |   1001      Peel         London               |
            |   1002      Serres       San Jose             |
            |   1004      Motika       London               |
            |   1007      Rifkin       Barcelona            |
            |   1003      Axelrod      New York             |
             ===============================================

㭮 20.2: ।⠢ Salesown

㣨 ᫮,  ।⠢ - ⠪    ⠡ த殢,
 ᪫祭 ⮣,   comm,  㯮  ,   ᫥-
⥫쭮  뫮 祭  ।⠢.


 

।⠢  ⥯   䨪樨 DML,  
䨪  㤥 ⢮  ᠬ ।⠢.   



                                   :      255
______________________________________________________________________


  ᠬ  ७ࠢ   ⠡:

         UPDATE Salesown
            SET city = 'Palo Alto'
            WHERE snum = 1004;

 ⢨ 筮 믮 ⮩    ⠡ த殢.
, ᫨ 祭 ᨮ த 㤥 ࠡ⠭  
UPDATE

         UPDATE Salesown
            SET comm = .20
            WHERE snum = 1004;

 㤥 ⢥࣭, ⠪   comm   ।⠢
Salesown.   砭, 뢠饥    ।⠢
  ஢.
 㤥 ᫥ ஡ 䨪樨 ।⠢   21.


 

 襬 ਬ,   ।⠢  ᢮ , 祭
אַ    ᭮ ⠡.  㤮. ,   
㦭 ᭠  ⮫ 묨 :

*     ⮫  뢮묨,  ⮬
     騬 .

*       ⮫殢  ꥤ,    
        ⠡.

,     ,   㣫 ᪮ ( ), 
᫥  ⠡.    襭, ᫨ ᮢ   
 訢 ⠡.    ࠧ    -
  訢   "।"  . 筮  
 㪠뢠   ,  ᫨   ⠪ ᤥ ,  -
       ।⠢.



     256          SQL     
______________________________________________________________________
           . 20


   
    

       ।⠢,  ᮡ⢥, 訢
. ᭮ ᯮᮡ  SQL  , - ꥤ ।  
ᮢ  .  ᬮਬ  ࠧ   ।⠢  -
 Londonstaff :

         CREATE VIEW Londonstaff
            AS SELECT *
            FROM Salespeople
            WHERE city = 'London';

᫨  믮塞 ᫥騩   ⮬ ।⠢

         SELECT *
           FROM Londonstaff
           WHERE comm > .12;

 ⠪   ᫨   믮 ᫥饥  ⠡ த殢:

       SELECT *
          FROM Salespeople
          WHERE city = 'London'
          AND comm > .12;

 ४᭮,  ᪫祭 ⮣,    ஡
 ।⠢.   樨    
⨬ ।⮢  祭 ।   㤥 ࠡ.
ਬ, ।   ᮧ (CREATE) ᫥饥 ।⠢-
:

       CREATE VIEW Ratingcount (rating, number)
          AS SELECT rating, COUNT (*)
          FROM Customers
          GROUP BY rating;

        ᫮ 稪      ஢
業(rating).   ⥬ ᤥ  ⮣ ।⠢ ⮡
᭨,   - 業,  饥 ६ 祭 
  稪:



                                         :       257
______________________________________________________________________


       SELECT *
          FROM Ratingcount
          WHERE number = 3;

ᬮਬ   ᫨  ᪮㥬  ।:

       SELECT rating, COUNT (*)
          FROM Customers
          WHERE COUNT (*) = 3
          GROUP BY rating;

 ⨬ . ॣ 㭪樨, ⠪  COUNT (),
  ᯮ짮  ।.
ࢨ ᯮᮡ  ନ஢ 㯮⮣ , -
  㤥 ᫥騩:

        SELECT rating, COUNT (*)
           FROM Customers
           GROUP BY rating;
           HAVING COUNT (*) = 3;

 SQL   믮 ॢ饭.   ࠢ業 
   Ratingcount ௥ 㤠?  !
 - 筠  SQL,  ⮤ ᯮ짮 ।⠢-
   訥 १.
 襥   ᤥ  砥,   ⮬ 祣  ᪠-
  襩 ⥬ 㬥樨, ⠪  ⪠   ࠧ-
. ᫨  ⨬,   ᯮ짮 ।⠢ 
⮡ ⠭  ࠭祭 SQL  ᨭ⠪ .


 

㯯 ।⠢ -  ।⠢,  
Ratingcount  ।饬 ਬ,  ᮤন ।
GROUP BY,   ᭮뢠  㣨 㯯 ।⠢-
.
  㯯 ।⠢   ॢ室 ᯮᮡ ࠡ-
뢠 祭 ଠ 뢭. ।,   
   ᫥  浪 ஢ 稪, ࠬ -
殢 ਭ 浪, ࠬ 浪, ।  浪, 
 饩 㬬 ਮ⥭  浪.



     258              SQL     
______________________________________________________________________
             . 20


 ஢  ࠧ ᫮ ,   
ᮧ ᫥饥 ।⠢:

   CREATE VIEW Totalforday
        AS SELECT odate, COUNT (DISTINCT cnum), COUNT
                (DISTINCT snum), COUNT (onum), AVG
                (amt), SUM (amt)
                FROM Orders
        GROUP BY odate;

    ᬮ 㢨   ଠ   ⮣
:

         SELECT *
            FROM Totalforday;

  , SQL       -
⥩, ⠪  ।⠢ ᯥ稢  १砩   -
 㬥⮬ ⮡ । 筮,      
ᯮ짮.
  ⠪   ࠡ  ⮩, ଠ
 㤮   ᯮᮡ  ᪫稢  ࠡ.


  

।⠢  ॡ ⮡  뢮 ⢫   -
 ⠡.     ⨬  SQL   
ᯮ짮  ।⠢,   뢮 ଠ   
᫠  ⠡,   㣨 ।⠢.
 , ਬ, ᮧ ।⠢ ஥ 뢠 , -
浪 த  稪  :

       CREATE VIEW Nameorders
          AS SELECT onum, amt, a.snum, sname, cname
             FROM Orders a, Customers b, Salespeople c
             WHERE a.cnum = b.cnum
               AND a.snum = c.snum;

    (SELECT)  浪 稪  -
 ( * ),   㢨  ଠ   浪.



                                      :     259
______________________________________________________________________


ਬ, ⮡ 㢨  浪 த Rifkin,   
 ᫥騩  ( 뢮   20.3 㭪 ):

          SELECT *
             FROM Nameorders
             WHERE sname = 'Rifkin';


            ===============  SQL Execution Log ==============
           |                                                 |
           | SELECT *                                        |
           | FROM  Nameorders                                |
           | WHERE sname = 'Rifkin';                         |
           | =============================================== |
           |   onum       amt       snum   sname     cname   |
           |  ------   --------    -----  -------   -------  |
           |   3001       18.69     1007  Rifkin    Cisneros |
           |   3006     1098.16     1007  Rifkin    Cisneros |
           |                                                 |
             ================================================

 㭮 20.3: 浪 Rifkin   Nameorders

  ⠪ ꥤ ।⠢  㣨 ⠡栬, 
묨 ⠡栬  ।⠢ﬨ, ⮬   㢨
 浪 Axelrod  祭  ᨨ   浪:

           SELECT a.sname, cname, amt  comm
              FROM Nameorders a, Salespeople b
              WHERE a.sname = 'Axelrod'
                AND b.snum = a.snum;

뢮  ⮣  뢠  㭪 20.4.

 ।,     - " WHERE a.sname = 'Axelrod' AND 
b.sname = 'Axelrod' " ,  ।   ᯮ짮   
㯮ॡ⥫. ஬ ⮣  snum -  ࢨ  ⠡ 
த殢,  ᫥⥫쭮   ।  㭨.



      260           SQL     
______________________________________________________________________
            . 20


            ===============  SQL Execution Log ==============
           |                                                 |
           | SELECT a.sname, cname, amt * comm               |
           | FROM  Nameorders a, Salespeople b               |
           | WHERE a.sname = 'Axelrod'                       |
           | AND b.snum = a.snum;                            |
           | =============================================== |
           |   onum       amt       snum   sname     cname   |
           |  ------   --------    -----  -------   -------  |
           |   3001       18.69     1007  Rifkin    Cisneros |
           |   3006     1098.16     1007  Rifkin    Cisneros |
           |                                                 |
             ================================================

㭮 20. 4: 쥤 ᭮ ⠡  ।⠢


᫨  ⠬ ਬ 뫮  Axelrodf, ਠ  , 㤥 ꥤ 
  .
 ।⥫ ਠ - ᯮ짮  snum ⮡ ࠭ 
⤥쭮.


  

।⠢  ⠪ ᯮ짮  ,  ᮮ⭥ᥭ
. ।   ।ᬠਢ ६   
த殢   稪  ᠬ ᮪ 浪   㪠-
 .   ᫥  ଠ   ।⠢:


           CREATE VIEW Elitesalesforce
              AS SELECT b.odate, a.snum, a.sname,
                 FROM Salespeople a, Orders b
                 WHERE a.snum = b.snum
                   AND b.amt =
                     (SELECT MAX (amt)
                         FROM Orders c
                         WHERE c.odate = b.odate);

᫨,  㣮 ஭, ६ 㤥  ⮫쪮 த 
 ᠬ ᮪ 冷  ᫥  ,  室



                                         :    261
______________________________________________________________________


㤥 ᫥   㣮 ।⠢ ᭮  ࢮ:

            CREATE VIEW Bonus
               AS SELECT DISTINCT snum, sname
                  FROM Elitesalesforce a
                  WHERE 10 < =
                     (SELECT COUNT (*)
                         FROM Elitesalestorce b
                         WHERE a.snum = b.snum);

祭  ⮩ ⠡ த,  㤥  ६ -
믮  ᮬ:

               SELECT *
                  FROM Bonus;

   ⨭ 魮 SQL. 祭 ⮩  祭
ଠ樨 ணࠬ RPG  COBOL 㤥  ⥫쭮 -
ன.  SQL,  - ⮫쪮     , ࠭-
,  ।⠢ ᮢ⭮   ᮬ.
 ᠬ⥫쭮  -     ⮬  , 
⮬  ଠ   , 뢭  
⮡ ࠦ ⥪饥 ﭨ  .


    

 讥 ⢮ ⨯ ।⠢ (   
 ਬ஢  ⮩  )   㯭묨 ⮫쪮  
⥭.  砥,    訢,     -
 ⢨  䨪樨.
(  㤥 ᬠਢ  ⥬   21. )

 ⠪   ᮢ,   ⨬  ।-
 ।⠢. 筮 ।⠢  ᭮뢠  
筮 ;  (UNION)   
 (UNIOM ALL)  ࠧ.
 (ORDER BY)   ᯮ  ।-
 ।⠢.
뢮  ନ ᮤঠ ।⠢, ஥ 
 ⠡   -  । - 㯮冷祭.



     262          SQL     
______________________________________________________________________
           . 20

 

⠪ 㤠 ।⠢     ᨭ⠪
㤠  ⠡:

      DROP VIEW < view name >

 ⮬  室, , ᭠砫  㤠  ᮤঠ  
    ⠡楩, ⮬  ᮤঠ ।⠢ 
 ᮧ  ࠭  祭 । . 
⠡  ன ।⠢ 뢮,  䥪⨢  ।⠢-
 㤠.
,    楬 ।⠢ ⮡  -
 㤠 .

===============      ==============

,    ᯮ짮 ।⠢,  ᯮᮡ
᫥  ࠡ뢠 ᮤঠ 襩  , ⥫쭮 
ਫ.      ᮧ  ᮬ,  
ᥣ ᬮ ।  ।⠢.   ।⠢, 
䠪᪨,  .
ᯮ짮 ।⠢   㤮⢠   , ⠪ 㤮
    ।⠢  ଠ஢  祭 
祭  ﭭ 饣 ᮤঠ 襩  . -
   뢮 ⭮⥫쭮 ।⠢,  ᯮᮡ  -
䨪樨,   ࠫ  ⫨稨   21.  ,  
 ஢ ।⠢ ⠪    ⠡,  -
  ਬ塞  ⠡  ன 砥 ।⠢-
,    ᥣ .



                                     :    263
______________________________________________________________________


***************   SQL *************

1.  ।⠢ ஥  뢠  稪 
    ᠬ ᮪ 業.

2.  ।⠢ ஥  뢠  த  
   த.

3.  ।⠢ ஥  뢠 ।  騩 -
      த ᫥  . ।,    - 
   㭨.

4.  ।⠢ ஥  뢠  த  -
   ᫥묨 稪.


( . ਫ A  ⢥⮢. )






                                                                                 21




                         

              




       266         SQL     
______________________________________________________________________
            . 21

      
 DML - (INSERT), (UPDATE),  
(DELETE) -   ਬ  ।⠢. 
 㯮  ।饩 , ᯮ짮  䨪樨  
।⠢ -  ᢥ ᯮᮡ ᯮ짮   뫮 ⠡-
   ᮢ ।⠢.  ,   ।⠢ 
 ஢.
   ⮩ ,  㤥 㦤 ࠢ ।騥,   
।⠢ 㥬. ஬ ⮣,   ᯮ짮 
। WITH CHECK OPTION, ஥ ࠢ 㪠묨 
祭ﬨ,     ⠡   ।⠢.
   㯮   18, ,   ,   ⥫-
 ਠ⮬ ।⢥ ࠭祭 ⠡.


====   =====

   㤭   ᯥ⮢ ।⠢ -
।⢥  ᯮ짮   䨪樨 DML.
 㯮  ।饩 ,   䠪᪨ -
  祭   ⠡ ।⠢.
   ⨢稥. ।⠢ ⮨  -
⮢ ,     ।⠢,  -
  १⮢ .  䨪   -
⢮   ;   ⢮  祭  ⠡-
  ன  ᤥ ,  ⠪ ࠧ  뢮 -
.   ⮩ . 騩  㤥 ᮧ ।-
⠢   㭪 21.1:

      CREATE VIEW Citymatch (custcity, salescity)
          AS SELECT DISTINCT a.city, b.city
             FROM Customers a, Salespeople b
             WHERE a.snum = b.snum;

 ।⠢ 뢠  ᮢ 稪   த-
 ⠪,    ࠩ   稪  த_稪 
㦨 த殬  த_த.
  ਬ,  ப ⮩ ⠡ - London   London - 뢠,  
  ࠩ   稪  ,㦨 த-
殬  . 
 ப   ந  ᮢ Hoffman   த-
殬 Peel, 祬 ᫨    .



                 267
______________________________________________________________________


            ===============  SQL Execution Log ==============
           |                                                 |
           | SELECT *                                        |
           | FROM  Citymatch;                                |
           | =============================================== |
           |   custcity    salescity                         |
           |  ---------    ---------                         |
           |  Berlin       San Jose                          |
           |  London       London                            |
           |  Rome         London                            |
           |  Rome         New York                          |
           |  San Jose     Barselona                         |
           |  San Jose     San Jose                          |
           |                                                 |
             ================================================

㭮 21.1: ।⠢ ᮢ  த

    ,    ᠬ 祭 㤥 ந  ᮢ 
Clemens  ,   த殬,   ⠪   
 - Peel.  ⫨騥 樨 த 롨ࠫ ⭮, 
⮫쪮  ப   祭 뫠 ந.

   ᫨    롮 ᯮ ⫨,    㤥 
 ⮬  ᠬ , ⮬   㤥 ⮣   ப  
।⠢  묨 祭ﬨ, -   ⮫栬 ࠢ-
묨 " Lndon  London ".   ப ।⠢  ⫨ 
  㣠, ⠪     ᬮ ᮮ,  ப ।⠢-
 室   祭  ⠡(   ,  -
  ᯮ騥 । ORDER BY, ந 뢮  ந-
쭮 浪.  ⭮ ⠪   ᠬ ᯮ㥬  
।⠢,    ᯮ짮 ORDER BY.  ࠧ, 
冷   ப    ᯮ짮   ⫨稩.  
 砥,   㤥 ᭮   뢮 ப   -
  筮 易  㪠묨 ப 訢 ⠡.
 ᫨  ஡ 㤠 ப " London  London "  ।⠢?
砫   㤠 Hoffman  ⠡ 稪, 㤠 Clemens 
 ⮩  ⠡,  㤠  ?   SQL ⠪ 㤠 
Peel  ⠡ த殢?      ⢥ 筮, -
⮬ 㤠  ࠧ襭  ।⠢ ⠪ ⨯.
।⠢ Citymatch -  ਬ ।⠢ ⮫쪮_⥭,  -
  ⮫쪮 襭,   .



       268           SQL    
______________________________________________________________________
            . 21

 
  

᫨  䨪樨  믮  ।⠢, ।⠢-
  ᮮ頫 㤥 㥬;  ⨢ 砥  ।-
祭 ⮫쪮  ⥭  . ⨢ ⮩ ନ, 
 㤥 ᯮ짮 ࠦ "㥬 ।⠢"(updating 
a view),  砥  믮  ।⠢   
  䨪樨 DML ( ⠢,    ),  
  祭.
  ।,   ।⠢ 㥬?   ⥮ਨ
 ,  -  㦤 ⥬. ᭮  ਭ樯 ⠪:
㬮 ।⠢ -  ।⠢  ஬  -
䨪樨  믮, ⮡    ⮫쪮  ப -
 ⠡    ६,      㣨 
ப  ⠡. ᯮ짮 ⮣ ਭ樯  ࠪ⨪, , 
㤭. ஬ ⮣,  ।⠢,   -
㥬묨  ⥮ਨ,  ᠬ    㥬묨  SQL. 
ਨ   ।,   ।⠢ -
  ,  SQL, ᫥騥:

*    뢮    ⮫쪮    ⠡.

*    ᮤঠ ࢨ  ⮩ ⠡ (  孨᪨
    ।뢠 ⠭⮬ ANSI,  뫮   ਤন-
    ⮬).

*       ,   﫨 ॣ묨
   㭪ﬨ.

*     ᮤঠ DISTINCT  ᢮ ।.

*     ᯮ짮 GROUP BY  HAVING  ᢮ ।.

*     ᯮ짮  (  - ANSI_࠭祭 ஥ 
    ।ᠭ   ॠ権 )

*     ᯮ짮  㣮 ।⠢,   ।⠢-
     ⠪  㥬묨.

*     ᯮ짮 ⠭, ப,  ࠦ 祭 
   ( ਬ: comm * 100 ) । ࠭  뢮.



                     269
______________________________________________________________________


*   INSERT,   ᮤঠ   ᭮ ⠡
     ࠭祭 NOT NULL, ᫨ 㣮 ࠭祭 
   㬮砭,  ।.

  
   _.

   ࠭祭 ,  㥬 ।⠢, 䠪-
᪨,     ⠡.  뢠 -,   
易⥫쭮 ,  ᮤন ⠡.   ࠭稢 ।-
 ப ( ᯮ짮 ।⮢),  ᯥ樠쭮 -
 ⮫ (  ᪫祭ﬨ ),   ।⠢ 祭 ।-
⢥   뢮  ଠ,  ᯮ짮 ⠢ 㭪-
権  ࠦ.
   ⠪  ࠢ ப ⠡   㣮 (   쥤-
  ,    DISTINCT ).
    㥬묨 ।⠢ﬨ  ।⠢ﬨ
⮫쪮_⥭ 砩.
       ᯮ,  ࠧ. 㥬
।⠢,  ᭮, ᯮ 筮 ⠪     ⠡-
. ᪨, 짮⥫    ᮧ,   -
   訢,  ⠡楩  ।⠢.
 ॢ室 堭   ᮪ ⥩ ⠡, -
  䨤樠묨   ⭮  ॡ -
 짮⥫. (   22,   ,   짮-
⥫   ।⠢,     ⠡ ).

।⠢ ⮫쪮_⥭,  㣮 ஭,   
 ଠ஢   樮쭮.    ⥪
᫮ ᮢ,    믮   ᭮, -
 祭  ଠ  ᫥ .
஬ ⮣, १  ᮢ  ⠡,   ⥬ -
짮   ᠬ⥫쭮 ( ਬ,  쥤 )  
२⢮   믮 ᮢ.
  ।⠢ ⮫쪮_⥭  ⠪  ਪ ணࠬ
. ਬ,   , ⮡  짮⥫ -
 ॣ , ⠪  । 祭 ᨮ -
,   㠫 祭 ᨮ.



     270            SQL     
______________________________________________________________________
           . 21

    -  
        

  ਬ 㥬 ।⠢  ।-
⠢ ⮫쪮_⥭:

           CREATE VIEW Dateorders (odate, ocount)
              AS SELECT odate, COUNT (*)
                 FROM Orders
                 GROUP BY odate;

 - ।⠢ ⮫쪮_⥭ - ⢨   ॣ⭮ 
㭪樨  GROUP BY.

              CREATE VIEW Londoncust
                 AS SELECT *
                    FROM Customers
                    WHERE city = 'London';

  - ।⠢ 㥬.

             CREATE VIEW SJsales (name, number, percentage)
                 AS SELECT sname, snum, comm  100
                    FROM Salespeople
                    WHERE city = 'SanJose';

 - ।⠢ ⮫쪮_⥭ - ࠦ " comm * 100 " .
 ⮬, ,  㯮冷祭  २ .
 ணࠬ   㤠  ⮬ ।⠢ 
 浪 ⮫殢 snum  sname.

             CREATE VIEW Salesonthird
                AS SELECT *
                  FROM Salespeople
                  WHERE snum IN
                    (SELECT snum
                       FROM Orders
                       WHERE odate = 10/03/1990);

    - ।⠢ ⮫쪮_⥭  ANSI - ⢨  
.   ணࠬ,    ਥ.



                271
  ______________________________________________________________________


            CREATE VIEW Someorders
               AS SELECT snum, onum, cnum
                  FROM Orders
                  WHERE odate IN (10/03/1990,10/05/1990);

 - 㥬 ।⠢.


                   
======    =====

㣮 뢮  㥬 ।⠢ ,    
 祭  " ண뢠 " (swallowed)   
⠡.  ᬮਬ ⠪ ।⠢:

          CREATE VIEW Highratings
             AS SELECT cnum, rating
                FROM Customers
                WHERE rating = 300;

 - ।⠢ 㥬.   ࠭稢  -
  । ப  ⮫栬  ⠡. ।,   
⠢ (INSERT) ᫥ ப:

       INSERT INTO Highratings
          VALUES (2018, 200);

    - ⨬  INSERT  ⮬ ।⠢. ப 㤥
⠢,   ।⠢ Highratings,  ⠡ 稪.
    ⠬,  祧  ।⠢, ᪮
祭 業  ࠢ 300.  - 筠 ஡.
  祭 200    ⠭,  ⥯ ப 室 
㦥  ⠡ 稪      㢨 . 짮⥫ 
 ᬮ , 祬  ப     㢨,  㤥 -
ᯮᮡ  ⮬ 㤠 .
   ࠭஢  䨪権 ⠪ ⨯   -
祭 WITH CHECK OPTION (  )  ।-
 ।⠢.   ᯮ짮 WITH CHECK OPTION  
। ।⠢ Highratmgs.



      272              SQL    
______________________________________________________________________
             .  21

          CREATE VIEW Highratings
             AS SELECT cnum, rating
                FROM Customers
                WHERE rating = 300
                WITH CHECK OPTION;

㯮 ⠢ 㤥 ⪫.

  WITH CHECK OPTION  -  ந ⢨  __祣 
(all-or-nothing).   頥   । ।⠢,   
 DML, ⠪     䨪樨  ।⠢ 
 ஢,     㤥 ஢७. 筮  
ᯮ짮  ஢ન, ᯮ   । ।⠢-
,    㤮.
  饬,   ᯮ짮  , ᫨    稭,
ࠧ ।⠢   ⠡ 祭,   
ᠬ   ᮤঠ.


   

 宦 ஡,    , 砥  ᥡ ⠢
ப  ।⠢  ।⮬, 饬    
᪫祭 . ਬ,   ࠧ㬭, ⮡ ᮧ-
 Londonstaff  ⮬:

            CREATE VIEW Londonsta1t
               AS SELECT snum, sname, comm
                  FROM Salespeople
                  WHERE city = 'London';

  殢, 祬  祭 city, ᫨  祭 city 
 묨.
    㤥 룫廊 ⨭ 砥 直 ࠧ,   -
㥬 ⠢ ப.      㪠 祭 city  
祭  㬮砭, ⨬ 祭 ⭮ 㤥 NULL,   
㤥    city ( NULL  ᯮ ᫨ 㣮 祭 
 㬮砭 祭  뫮 ।. .  18  ஡-
⥩ ).     砥  city  㤥 ࠢ 祭 
London, ⠢塞 ப 㤥 ᪫祭  ।⠢.

 

                   273
______________________________________________________________________

 㤥    ப   ஡ ⠢ 
ᬮ Londonstaff.        ।-
⠢ Londonstaff  ⠡ த殢,  ⥬ ᪫祭  ᠬ-
 ।⠢( ᫨ ।  㬮砭   London,  
 ᮡ 砩). 짮⥫  ᬮ  ப   ।-
⠢,    ⭮,     ப  -
 ⠡.  ᫨   WITH CHECK OPTION  -
 ।⠢

       CREATE VIEW Londonstate
          AS SELECT snum, sname, comm
             FROM Salespeople
             WHERE city = 'London'
             WITH CHECK OPTION;

஡  易⥫쭮 㤥 襭.  १ ⮣  稬
।⠢ ஥    ஢   ண  
  㤠,   ⠢  .   ,   
 ;    ᫠ 짮⥫ 騬  
 ⮬ ।⠢    ப.   -
 筮 ।   ந ०, 祬  ᮧ ⠪
।⠢.
    ᫨   ᥣ  ᯥ   ଠ樥,
    ।⠢  ,    -
  ।. ᫨        襬 뢮,  -
 ᬮ ᪫     ।⠢,  ⨢ 
  ।⠢. 㣨 ᫮,    । 
।⠢ Londonstaff  ⮬:

           CREATE VIEW Londonstaff
              AS SELECT *
                 FROM Salespeople
                 WHERE city = 'London'
                 WITH CHECK OPTION;

   ।⠢ 묨 祭ﬨ   city, 
    ᪫  뢮     -
஬ 㪠 ⮫쪮         

           SELECT snum, sname, comm
              FROM Londonstaff;



      274             SQL     
______________________________________________________________________
            . 21

   
   

   㯮 ⭮⥫쭮 । WITH CHECK OPTION  
 ANSI:    ᪠஢  :  ਬ ⮫쪮 
 ।⠢    ।,    ।⠢ ᭮-
  ⮬ ।⠢.  ਬ,  ।饬 ਬ

          CREATE VIEW Highratings
             AS SELECT cnum, rating
                FROM Customers
                WHERE rating = 300
                WITH CHECK OPTION;

⪠ ⠢  ஢ 祭 業  ࠢ 300 -
௨ 㤠. ,   ᮧ ஥ ।⠢ (  -
 ᮤঠ ) ᭮  ࢮ:

          CREATE VIEW Myratings
             AS SELECT *
             FROM Highratings;

   ஢ 業  ࠢ 300:

           UPDATE Myratings
              SET rating = 200
              WHERE cnum = 2004;

  믮塞 ⠪  ᫨   믮﫠  ࢮ 
।⠢, 㤥 ⨬. । WITH CHECK OPTION 
 ࠭,   䨪  ।⠢, ந-
 祭,  㤮⢮ । ⮣ ।⠢.
䨪 㣨 ।⠢   ࢮ ⥪饬, 
   ⨬, ᫨  ।⠢  饭 -
ﬨ WITH CHECK OPTION   ।⠢.  
᫨ ⠪ । ⠭,  ஢ ⮫쪮  । 
।⠢    ᮤঠ.  ਬ,  ᫨ ।-
⠢ Myratings ᮧ ᫥騬 ࠧ

             CREATE VIEW Myratings
                AS SELECT *
                   FROM Highratings
                   WITH CHECK OPTION;



                     275
______________________________________________________________________


஡  㤥 襭. । WITH CHECK OPTION 㤥 
᫥ ⮫쪮 । ।⠢ Myratings.   Myratings, 
䠪᪨,    ।, WITH CHECK OPTION -
祣  㤥 . ᫨ ᯮ ।,   㤥 ஢-
 直 ࠧ,  ।⠢ Myratings 㤥 ஢, 
 । Highratings  ࠢ 㤥 ந஢.
 - 䥪  ⠭ ANSI,   設⢮ ணࠬ ࠢ-
.   ஡ ᯮ짮 ।⠢  -
 ਬ  ᬮ    ⥬  ⮣ 䥪-
. ( ⪠ ᭨  ᠬ⥫쭮      
 ᭥, 祬  ⢥  㬥樨 ⥬. )


==============     =================

    ⥯  ﬨ  ।⠢ . ஬
ࠢ ।,    ।⠢ -
묨  SQL,    ᭮묨 ﬨ   
 ࠢ  - .  䨪樨  ।⠢ -
⨬ ⮫쪮  SQL  ᫥ ।,  -
祭  ⠡  .
   砥   䨪樨,  믮,  
ॡ     ப ࠧ,  ࠢ 
᫥묨 ப   ⠡  뢮 .
  쥤   ᥡ ࠢ ப,  ⠪ -
饭.  ⠪ 﫨 ࠧ稥  묨 ᯮᮡ -
 ᯮ 䨪㥬 ।⠢  ।⠢ 
⮫쪮_⥭.
 稫 ਭ 㥬 ।⠢  ,
⮡ࠦ騥  筮 ⠡,  易⥫쭮 ᪫-
騥  ८࣠騥 ⮫, ।⢮ 롮 ⮫쪮 ।-
 ப ⢥ ᫮ ।.
।⠢ ⮫쪮_⥭,  㣮 ஭,  ᮤঠ  
⨬  SQL;   ᫥⥫쭮  ᯮᮡ -
 ᮢ,   㦭  믮   -
. ஬ ⮣, 稥  祩 뢮 ࠡ뢠  ꥪ 
,     ᭮  㤮⢮  ᮧ 
ᮢ  뢮 ᮢ.
 ⥯  ।࠭  䨪樨  ।⠢-
  ᮧ ப   ⠡,   ।⠢ 



      276            SQL      
______________________________________________________________________
           . 21

ᠬ ।⠢   । WITH CHECK OPTION 
 । ।⠢.   ⠪ ᯮ짮 WITH 
CHECK OPTION    ᯮᮡ ࠭祭   ⠡.
 ⮭ ,  筮 ᯮ    ⮫-
殢  ।  ।⠢ । ࠭  뢮,  
 뢠  ஡.  ᫨   ᯮ  
㥬 ।⠢,  ஡, ⠪   
 ந ।⠢,     ⠢-
   ப.
   室  ⨬ ஡.
  20  21,  ਫ,  ।⠢  ਪ
ணࠬ .    짮⥫  
।⠢  ࠧ  ⮦ ६   ⠡栬  
  ।⠢ ।⢥ 室.  22 㤥 
᫥  㯠  ꥪ⠬   SQL.



                    277
______________________________________________________________________


**************   SQL **************

1.    ।⠢ - 㥬 ?

       #1 CREATE VIEW Dailyorders
             AS SELECT DISTINCT cnum, snum, onum,
             odate
               FROM Orders;

       #2 CREATE VIEW Custotals
             AS SELECT cname, SUM (amt)
                FROM Orders, Customers
                WHERE Orders.cnum = customer.cnum
                GROUP BY cname;

       #3 CREATE VIEW Thirdorders
             AS SELECT *
                FROM Dailyorders
                WHERE odate = 10/03/1990;

       #4 CREATE VIEW Nullcities
             AS SELECT snum, sname, city
                FROM Salespeople
                WHERE city IS NULL
                   OR sname BETWEEN 'A' AND 'MZ';


2.  ।⠢ ⠡ த殢   Commissions
   (ᨮ).  ।⠢   ⮫쪮  
   comm  snum.   ⮣ ।⠢,  㤥  
     ᨮ,  ⮫쪮  祭  .10  .20.

3.  SQL ॠ樨  ஥ ⠭ ।⠢-
    ⥪ ,  뢠 " CURDATE ".
    CURDATE  ᫥⥫쭮 ᯮ짮   SQL,
     ⥪饩 ⮩,   祭 ⠭ 㯭  -
    ⠪   SELECT  INSERT.  㤥 ᯮ짮
   ।⠢ ⠡ 浪   Entryorders  ⠢ ப



      278              SQL         
______________________________________________________________________
             . 21

    ⠡ 浪.  ⠡ 浪, ⠪ ⮡ CURDATE
   ⮬᪨ ⠢﫠   odate ᫨  㪠 㣮 -
   . ⥬ ᮧ ।⠢ Entryorders, ⠪ ⮡ 祭  
     㪠.

( . ਫ A  ⢥⮢. )





                                                                            22




                                       

                                       




    280                SQL    
______________________________________________________________________
           . 22

  ,     .
 ᪠   2, SQL ᯮ 筮  ।,  -
 ᯮ 짮⥫  ࠧ  ࠧ묨 -
⥫ﬨ ⥬.  ,   , ᠬ
ᮧ 짮⥫    ਢ.  㣮 ஭ 짮-
⥫  ᮧ ⠡, ᠬ  ࠢ  ࠢ ⨬ 
⠡栬. ਢ -  ,  ।,   㪠 -
⥫ 믮  .
 ᪮쪮 ⨯ ਢ, ᮮ⢥ ᪮쪨 ⨯ 
権. ਢ   ⬥    SQL :
- GRANT ()  REVOKE ().
       ᯮ.


==============     ===============

 짮⥫  । SQL ,  ᯥ樠쭮 䨪樮-
   . ନ  ࠧ,   ࠫ (᫥ 
ANSI) 뫪       䨪 (ID) 㯠. 
, ᫠    樨  । 짮-
⥫;  , ᯥ樠 䨪஬ 㯠. ᪮쪮 
 ⭮  SQL  , ID ࠧ襭 -   짮⥫, 
SQL  ᯮ짮 ᯥ樠쭮 祢 ᫮ USER, ஥ -
  䨪 㯠 易  ⥪饩 . -
   ࠧ蠥 (  頥 )  ᭮ -
樨 易  䨪஬ 㯠 짮⥫ 襣 -
.




      ⥬  ᫥묨 짮⥫ﬨ,   
楤 室  ⥬,  짮⥫  믮 ⮡ 
   ୮ ⥬.  楤 ।  
ID 㯠 㤥 易  ⥪騬 짮⥫. 筮,  祫 
ᯮ騩     ᢮ ᮡ⢥ ID 㯠  
 ॣ樨 ॢ頥  ⢨⥫쭮 짮⥫. , 
 짮⥫ 騥    ॣ஢  ࠧ-
묨 ID 㯠,    ID 㯠  ᯮ짮 
᪮쪨 짮⥫ﬨ.



                            :         281
______________________________________________________________________

 窨 ७ SQL   ࠧ  ⨬  ﬨ;  
 ਭ 짮⥫    ID 㯠.
  SQL    ᯮ짮 ᮡ⢥ 楤 室  
⥬,     㣮 ணࠬ, ⨯ 樮
⥬ ( ᭮ ணࠬ  ࠡ⠥  襬  ),
ࠡ뢠 䠩 ॣ樨   ID 㯠  ⮩ ணࠬ. 
  㣨 ᯮᮡ,  SQL 㤥  ID 㯠 ⮡ 易  
 訬 ⢨ﬨ,    㤥  祭 祢 ᫮ USER.


========     =========

 짮⥫  SQL     ਢ.  -  
 짮⥫ ࠧ蠥  (   - 䠩 ॣ樨, 
  ᬠਢ  쭠 ਢ ).  ਢ-
    ६ -  ,  㤠.
   ਢ ।  ANSI SQL,    -
⥫ ਢ,   ⠪ 室묨.
SQL ਢ  । ANSI,    設⢥ -
権 ॠ쭮 .  㣮 ஭, ⨯ ਢ,  -
,     ⥬   ᯮ - 
⭮⥫쭮 ன ANSI     ४権. ਢ-
     ⠭ SQL   ᯮ짮 -
 ᨭ⠪    ᮢ騩  ⠭⮬.


 

  SQL ਢ । ANSI -  ਢ ꥪ.
 砥  짮⥫  ਢ ⮡ 믮  
 ⮫쪮  । ꥪ   . 祢,  -
  ࠧ  ꥪ,  ⥬ ਢ ᭮ 
᪫⥫쭮  ਢ ꥪ   ᮢ뢠   
㦭 SQL,   㢨    ⮩ .
ਢ ꥪ 易 ६   짮⥫ﬨ   ⠡-
.  , ਢ  । 짮⥫  㪠 ⠡-
,   ⠡  ।⠢.   ,  -
⥫ ᮧ訩 ⠡ ( ),  楬 ⮩ ⠡.



    282            SQL     
______________________________________________________________________
           . 22

 砥,  짮⥫   ਢ  ⮩ ⠡  
 । ਢ 㣨 짮⥫  ⮩ ⠡. 
ਢ    짮⥫:

SELECT           짮⥫  ⮩ ਢ  믮
                        ⠡.

INSERT           짮⥫  ⮩ ਢ  믮
                       INSERT  ⠡.

UPDATE         짮⥫  ⮩ ਢ  믮
                      UPDATE  ⠡.
                       ࠭  ਢ  ।-
                      ⮫殢 ⠡.

DELETE         짮⥫  ⮩ ਢ  믮
                      DELETE  ⠡.

REFERENCES  짮⥫  ⮩ ਢ  ।
                     譨 ,  ᯮ   
                     ⮫殢 ⮩ ⠡,  த⥫᪨ .
                       ࠭  ਢ  ।-
                      ⮫殢. (   19  ஡⥩
                     ⭮⥫쭮 譥   த⥫᪮ . )


஬ ⮣,  ⮫  ⠭묨 ਢﬨ ꥪ, 
⠪ ਬ  INDEX () 騬 ࠢ ᮧ  
 ⠡,  SYNONYM () 騬 ࠢ ᮧ ᨭ 
 ꥪ,  㤥 ᭥   23,   ALTER () 
騬 ࠢ 믮  ALTER TABLE  ⠡. 堭 SQL 
砥 짮⥫  ਢ    GRANT.


 GRANT

 ।,  짮⥫ Diane  ⠡ 稪 
   짮⥫ Adrian 믮   . Diane -
  ⮬ 砥  ᫥ :

       GRANT INSERT ON Salespeople TO Diane;



                        :             283
______________________________________________________________________

 Adrian  믮   ⠡ 稪.  -
 ਢ,   ⮫쪮  祭;    믮 
 ⢨,   ⢮  祭  ⠡ -
 (  ᯮ짮 ⠡ 稪  ⢥ த⥫᪮ 
⠡ 譥 ,  ࠭稢   믮 
 祭  ⠡ 稪).
 SQL 砥  GRANT,  ஢ ਢ 짮-
 襣  , ⮡ । ⨬   GRANT.
  Adrian ᠬ⥫쭮   뤠  .  ⠪   
।⠢ ࠢ SELECT 㣮 짮⥫: ⠡  ਭ-
 Diane (      Diane   ࠢ Adrian ।-
⠢ SELECT 㣨 짮⥫).
⠪ -   ᠬ,    ।⠢ 㣨 ਢ.
᫨ Adrian -  ⠡ த殢,     Diane
   ப   ᫥饣 ।

      GRANT INSERT ON Salespeople TO Diane;

 Diane  ࠢ   த  ⠡.


 ,  
   ࠭稢 ᥡ ।⠢ 筮 ਢ-
 ⤥쭮 짮⥫  GRANT. ᪨ ਢ
 짮⥫, ⤥塞 묨,  ᮢ襭 ਥ-
묨. Stephen  ।⠢  SELECT  INSERT  ⠡ 
浪  Adrian

      GRANT SELECT, INSERT ON Orders TO Adrian;

   Adrian   Diane

     GRANT SELECT, INSERT ON Orders TO Adrian, Diane;

 ਢ  짮⥫ ᫥ ⠪ ࠧ,  ᯨ-
᮪ ਢ ।⠢ ᥬ 㪠 짮⥫.  -
 ANSI 樨,    ।⠢ ਢ  -
 ⠡ ࠧ  ,    ॠ  -
࠭祭   ᫠,   㪠뢠 ᪮쪮 ⠡-
, ⤥  묨, ⠪    ᯨ᮪ ਢ   
।⠢   㪠 ⠡.



      284            SQL     
______________________________________________________________________
             . 22

  
  

 ਢ ꥪ ᯮ    ᨭ⠪, ஬  
UPDATE   REGERNCES   易⥫쭮 㪠뢠  ⮫-
殢. ਢ UPDATE  ।⠢   㣨 ਢ-
:

      GRANT UPDATE ON Salespeople TO Diane;

   Diane  祭      ⮫ 
⠡ த殢. , ᫨ Adrian  ࠭ Diane   
ਬ ᨮ,   

      GRANT UPDATE (comm) ON Salespeople TO Diane;

㣨 ᫮,    㪠  ⮫  ஬ 
ਢ UPDATE   ਬ,  㣫 ᪮ ᫥  
⠡.  ᫥ ⮫殢 ⠡  㪠뢠   
浪, ⤥塞 묨:

      GRANT UPDATE (city, comm) ON Salespeople TO Diane;

REFERENCES ᫥ ⮬  ᠬ ࠢ.   ।⠢ -
 REFERENCES 㣮 짮⥫,  ᬮ ᮧ 譨 
 뫠騥  ⮫ 襩 ⠡   த⥫᪨ . 
 UPDATE,  ਢ REFERENCES   㪠 ᯨ᮪ 
    ⮫殢   ࠭祭  ਢ.
ਬ, Diane  ।⠢ Stephen ࠢ ᯮ짮 ⠡ 
稪,  ⠡ த⥫᪮ ,   ⠪ :

      GRANT REFERENCES (cname, cnum)
         ON Customers TO Stephen;

   Stephen ࠢ ᯮ짮 ⮫ cnum  cname,  -
⢥ த⥫᪨ 祩  ⭮襭   譨 砬   
⠡. Stephen  ஫஢    㤥 믮.
  । (cname, cnum) ,   襬 砥( cnum, cname), 
 -⮫殢 த⥫᪨ , ᮢ騩   譥 
   ⮫栬     ᮡ⢥ ⠡.    
ᮧ ࠧ 譨  ⮡ 뫠   㠫쭮, 
ᯥ稢 ⥬ ᠬ ⮡ Diane  ਭ㤨⥫쭮 ᢮ த-
⥫᪮  (.  19 ).


                    :                 285
______________________________________________________________________

  ࠭祭   譨 祩   ஢
  த⥫᪨ ,  த⥫᪨  ࠧ 譨 
祩 - ࠧ襭  ᮢ饭(overlap).

   砥  ਢ UPDATE,   ᪫ ᯨ᮪ ⮫-
殢  ⠪ ࠧ  ᥬ  ᪫祭 ⮫栬  ᯮ-
㥬묨  ⢥ த⥫᪨ 祩. Adrian  ।⠢ Diane 
ࠢ ᤥ  ᫥饩 :

       GRANT REFERENCES ON Salespeople TO Diane;

⢥, ਢ 㤥 ਣ  ᯮ짮 ⮫쪮  ⮫-
,   ࠭祭 ॡ㥬  த⥫᪨ 祩.


   ALL  PUBLIC

SQL ন  㬥   GRANT,   ᯥ-
쭮 祭: ALL PRIVILEGES ( )   
ALL  PUBLIC (). ALL ᯮ   ਢ  
 GRANT ⮡ ⤠  ਢ  ⠡. ਬ, Diane -
  Stephen   ਢ  ⠡ 稪   ⠪ 
:

       GRANT REFERENCES ON Salespeople TO Diane;

( ਢ UPDATE  REFERENCES ⢥ ਬ  ᥬ
⮫栬. )      㣮 ᯮᮡ ᪠   :

       GRANT ALL ON Customers TO Stephen;

PUBLIC -  宦  ⨯ 㬥 - 墠  (catch-all), 祬 
 짮⥫ ਢ.
  ।⠢ ਢ  㡫樨,  짮⥫
⮬᪨  .  ,  ਬ  ਢ-
 SELECT  ।  ⠡  ।⠢ -
   ᤥ 㯭묨   짮⥫. ⮡ 
  짮⥫  ⠡ 浪, , ਬ,
  ᫥饥:

      GRANT SELECT ON Orders TO PUBLIC;



     286          SQL    
______________________________________________________________________
           . 22

筮,   ।⠢    ਢ ,
   ⥫쭮.  ਢ  ᪫祭 SELECT
 짮⥫  ( ,  砥 REFERENCES, ࠭-
稢) ᮤঠ ⠡. 襭 ᥬ 짮⥫  
ᮤঠ  ⠡ 맮 ஡.
 ᫨    ,    ࠡ   
⥪騥 짮⥫ ᯮᮡ 믮  䨪樨  
 ⠡, 뫮   ।⠢ ਢ  -
⥫ 㠫쭮, 祬     ਢ  .
PUBLIC  ࠭祭   । ⮫쪮 ⥪騬 짮⥫.
  짮⥫ 塞  襩 ⥬, ⮬-
   ਢ 祭 ࠭ ᥬ, ⠪  ᫨  -
 ࠭   ⠡ ᥬ, ᥩ   饬,  
ᥣ ।⠢ ਢ  祬 SELECT  㠫 
짮⥫.


  
  WITH GRANT OPTION

   , ᮧ⥫ ⠡  ⮡ 㣨 짮⥫ 
 ਢ   ⠡. 筮    ⥬,  
    ᮧ ᪮쪮 ( )  ⠡  -
   ⥬ । ⢥⢥   ⥬  㤥 䠪-
᪨   ࠡ. SQL      । 
WITH GRANT OPTION.
᫨ Diane ⥫  ⮡ Adrian  ࠢ ।⠢ ਢ 
SELECT  ⠡ 稪 㣨 짮⥫,     -
 SELECT  ᯮ짮 । WITH GRANT OPTION:

          GRANT SELECT ON Customers TO Adrian
            WITH GRANT OPTION;

᫥ ⮣ Adrian 稫 ࠢ । ਢ SELECT -
 栬;   뤠 

          GRANT SELECT ON Diane.Customers TO Stephen;

 

         GRANT SELECT ON Diane.Customers TO Stephen
          WITH GRANT OPTION;



                          :          287
______________________________________________________________________

짮⥫   GRANT OPTION   ᮡ ਢ  -
 ⠡, ,  ᢮ ।, ।⠢  ਢ  ⮩ 
 ⠡,    GRANT OPTION,  㣮 짮⥫. 
   ਭ ᠬ ⠡;   ० ⠡ -
  ᮧ⥫. ( ⮬ 짮⥫ 稢訥 ࠢ,  
⠭ 䨪 ID 㯠   뫠  ⨬ ⠡-
栬.       ᯮᮡ. ) 짮⥫   
 GRANT OPTION   ਢ   ⠡ 㤥
     ⮩ ⠡.


 

  ANSI ।⠢  CREATE TABLE ⮡ ᮧ 
⠡,   DROP TABLE ⮡   , ⠪   GRANT 
   ਢ 짮⥫,  ।⠢ ᯮᮡ ⮡ 
⮡  ⭮. ॡ 㤠 ਢ ᢮   
REVOKE, 䠪᪨ ⠭⭮ ।  筮 ⭮ ମ
.
⠪  REVOKE - 宦  GRANT,    . 
⮡ 㤠 ਢ INSERT  Adrian  ⠡ 浪,  -
 

      REVOKE INSERT ON Orders FROM Adrian;

ᯮ짮 ᯨ᪮ ਢ  짮⥫  ⨬   
 砥  GRANT, ⠪     ᫥ :

       REVOKE INSERT, DELETE ON Customers
          FROM Adrian, Stephen;

,    ᭮.   ࠢ ⬥ -
?   짮⥫  ࠢ । ਢ 㣨, -
  ࠢ?  짮⥫   ।⠢  ਢ, ⠪ 
  ?     ⠭⭠ ᮡ,   -
 ⢥⮢   ,   騩 室 -  ⠪:
*    ਢ ⬥ 짮⥫   ।⠢,  ⬥-
      㤥 ᪠஢, -  㤥 ⮬᪨ -
        짮⥫ 稢    ਢ.



        288             SQL    
______________________________________________________________________
               . 22

 
  

  ᤥ ⢨ ਢ  묨, ᯮ ।-
⠢. 直 ࠧ,   । ਢ   ⠡ 
짮⥫,  ⮬᪨ ࠭   ப,   
ᯮ짮  ᪫祭 UPDATE  REFERENCES,   
 ⮫ ⠡.
 ।⠢ ஥ 뫠  ᭮ ⠡  ⥬
७ ਢ  ।⠢,    ⠡,   -
࠭稢  ਢ 묨 ࠦﬨ   ᮤঠ-
  ।⠢.  ⥫쭮 蠥  
 GRANT.

   ?  
⮡ ᮧ ।⠢,    ਢ SELECT  
 ⠡    뫠  ।⠢. ᫨ ।⠢-
 - 㥬,  ਢ INSERT, UPDATE,  DELETE 
     ⠡,  ⮬᪨ । 
।⠢. ᫨  뢠 ⮪  ਢ  -
䨪   ⠡,   ᬮ     ।⠢-
  ᮧ,  ᫨ ᠬ  ।⠢ - -
.    譨   ᯮ  ।⠢, ਢ-
 REFERENCES   ᯮ  ᮧ ।⠢.
  ࠭祭 - । ANSI. ⠭ ਢ -
⥬ ( 㦤   ⮩  ) ⠪   祭.
 ᫥ ࠧ  ।,  ᮧ⥫ ।⠢ 
  㦤,    ᮮ⢥騥 ਢ 
   ⠡.

   SELECT
  
।    짮⥫ Claire ᯮᮡ  -
쪮 ⮫ snum  sname ⠡ த殢.   ᤥ ,
⨢   ⮫殢  ।⠢

         CREATE VIEW Clairesview
            AS SELECT snum, sname
               FROM Salespeople;


                            :         289
______________________________________________________________________

 ।⠢ Claire ਢ SELECT  ।⠢,    ᠬ 
⠡ த殢:

          GRANT SELECT On Clairesview to Claire;

  ᮧ ਢ ᯥ樠쭮  ⮫殢  ᯮ-
짮 㣨 ਢ, ,   INSERT,  㤥  
⠢ 祭  㬮砭,    DELETE, ࠭祭 ⮫-
  㤥  祭. ਢ REFERENCES  UPDATE, -
,  ᤥ ⮫ ᯥ᪨  ਡ  ।⠢.

   
   
筮,   ᯮᮡ ⮡ 䨫஢ ਢ  ।⠢-
ﬨ  -  ᯮ짮 ।⠢ ⮡ ਢ ⭮ᨫ 
⮫쪮  । ப.   , ⢥, ᯮ
।  ।⠢  ।,  ப  -
祭묨. ⮡ ।⠢ 짮⥫ Adrian, ਢ UPDATE  
⠡ 稪,   稪 ࠧ饭  ,  -
 ᮧ ⠪ ।⠢:

       CREATE VIEW Londoncust
          AS SELECT *
             FROM Customers
             WHERE city = 'London'
             WITH CHECK OPTION;

⥬   । ਢ UPDATE  ⮩ ⠡  Adrian:

          GRANT UPDATE ON Londoncust TO Adrian;

 ⮬ ⫨稥 ਢ  । ப  ਢ UPDATE 
 । ⮫殢,  ࠭   ⮫ ⠡ 
稪,    ப, ।  ப  祭  city -
 祬 London   뢠. । WITH CHECK OPTION 
।࠭ Adrian   祭  city   祭 ஬ 
London.

  
   
㣠  ⮨  ⮬, ⮡ । 짮⥫  
 㦥 祭 ,    䠪᪨ 祭  ⠡.
ॣ 㭪樨,   쬠 㤮묨  ਬ ⠪



     290           SQL     
______________________________________________________________________
           . 22

ᯮᮡ.   ᮧ ।⠢ ஥  , ।,
 饥 ⢮  浪    浪:

         CREATE VIEW Datetotals
            AS SELECT odate, COUNT (*), SUM (amt), AVG (amt)
               FROM Orders
               GROUP BY odate;

  । 짮⥫ Diane - ਢ SELECT  ।-
⠢ Datetotals:

            GRANT SELECT ON Datetotals TO Diane;

   
  
  ᫥ ਪ ணࠬ  ਨ, ᠭ   18, 
 ᯮ짮 ।⠢  WITH CHECK OPTION  -
⨢  ࠭祭. ।   ⥫ 㤮⮢,  
 祭  city  ⠡ த殢 室    த 
    饥 ६  ⢮.   ⠭-
 ࠭祭 CHECK ।⢥  ⮫ city,   -
  㤭  , ᫨   ਬ ஥ ⠬
㣨 ⢠.  ⢥ ୠ⨢,  ᮧ ।⠢, 
஥ ᪫砥 ࠢ 祭 city:

   CREATE VIEW Curcities
       AS SELECT *
         FROM Salespeople
           WHERE city IN ('London', 'Rome', 'San Jose', 'Berlin')
          WITH CHECK OPTION;

,  ⮣, ⮡ ।⠢ 짮⥫ ਢ -
஢  ⠡ த殢,   ।⠢   
।⠢ Curcities. २⢮ ⠪ 室 -  ⮬,  ᫨ 
 㦭 ᤥ ,   㤠  ।⠢, 
ᮧ ,  ।⠢  ⮬  ।⠢ ਢ 
짮⥫,   祬  ࠭祭. ⪮ -
 ,   ⠡ த殢 ⠪  ᯮ짮 
 ।⠢ ᫨    ⮡  ᮡ⢥  -
 ⪫.
 㣮 ஭,  室   ⠡   
㣨  ਢ 䨪樨  ᠬ ⠡,    -
⠢, ⮡  ᪫祭  ࠭祭.



                       :             291
______________________________________________________________________


  뢠 ⥫쭮,   믮, ᫨  ᯮ -
࠭祭   ⠡.  ᮦ,  ᪫祭  -
 㢨  ।⠢. ᫨  롥  室,  -
 ᮧ ஥ ।⠢, ᮤঠ饥 ⮫쪮 ᪫祭:

         CREATE VIEW Othercities
           AS SELECT *
             FROM Salespeople
             WHERE city NOT IN ('London', 'Rome', 'San Jose',
              'Berlin')
             WITH CHECK OPTION;

    । 짮⥫ ⮫쪮 ਢ SELECT 
 ⮬ ।⠢, ⮡    ᪫祭 ப,   
  ⨬ 祭 city   ⠡. ᪨, 
짮⥫   ᤥ   ।⠢  ꥤ  
㢨  ப ࠧ.


=========      ===========

 ࠧ㬥  ,    ࠢ  ᮧ ⠡.
  ਢ  ⭮  ANSI,    ஢-
.  ⠭ ਢ ANSI ⥪  ⮩ ਢ; - 
 ᮧ⥫ ⠡   । ਢ ꥪ. 
᫨   짮⥫  ᮧ  ⥬  ⠡ 
 ࠧ묨 ࠧࠬ  ਢ  筮     ⨢-
 ⥬.   ᥡ  㣨 :

-   ࠢ , 㤠,  ࠭稢 ⠡?
-   ࠢ ᮧ  ⠡ ⫨  ࠢ
    ᮧ ।⠢?
-    㯥௮짮⥫ - 짮⥫  ⢥砥
   ঠ    ᫥⥫쭮 騩 訥,
    ਢ,   ।⠢ 㠫쭮?

 ANSI  ਭ  ⮬ ⨥,  SQL ᯮ  ࠧ 
।,     ⥫ ⢥   .  ।-
 ᬮ  ᮪   뢮.

ਢ   ।  ନ ᯥ樠 ꥪ⮢ 
 뢠 - ਢﬨ ⥬,  ࠢ  . 
 ᭮ ஢,   ⭮   ᥡ ࠢ ᮧ



     292            SQL        
______________________________________________________________________
           . 22

ꥪ , ⭮ ⫨騥   ⠡( 筮 ᮧ-
묨 ᪮쪨 짮⥫ﬨ )  ।⠢ ( 筮 ᮧ-
 設⢮ 짮⥫).     ਢ ⥬  ᮧ 
।⠢,  ,    ਢ ꥪ -
 ANSI  ॡ  ᮧ⥫ ।⠢ ( ᠭ ࠭  ⮩ 
 ).
஬ ⮣,  ⥬  ࠧ ᥣ   ⨯ -
௮짮⥫ - 짮⥫  ⮬᪨  設-
⢮   ਢ -    । ᢮  㯥௮-
⥫ -   ਢ  㯯 ਢ. -
  ,  DBA,  ନ   -
㥬  ⠪ 㯥௮짮⥫,   ਢ 묨  
.

  

 饬 室    ਢ ⥬:
        -    CONNECT  (), 
       -   RESOURCE (),  
         -   DBA         (  ).
,  ᪠,  CONNECT ⮨  ࠢ ॣ஢-
  ࠢ ᮧ ।⠢  ᨭ(.  23), ᫨ -
। ਢ ꥪ. RESOURCE ⮨  ࠢ ᮧ -
 ⠡. DBA -  ਢ 㯥௮짮⥫,  짮-
⥫ ᮪    .    짮⥫ 
 㭪ﬨ       ਢ. 
 ⥬ ஬ ⮣  ᯥ樠쭮 짮⥫,  
뢠 SYSADM  SYS (⥬   ), 
  訥 ;  - ᯥ樠쭮 ,    
짮⥫  ᯥ樠쭮 DBA ਢ. ᪨ ⮫쪮  
祫  ࠢ ॣ஢   SYSADM, 騬 
 䨪஬ 㯠. 稥 쬠 ⮭  㭪樮 
 ࠧ  ࠧ ⥬.   楫,  㤥 뫠 
 ᮪ਢ஢ 짮⥫,  ࠧࠡ뢠  -
ࠢ     DBA,   䠪᪨  
 -   ᠬ ਢ.  GRANT,   -
,  ਣ  ᯮ짮  ਢﬨ ꥪ    
⥬묨 ਢﬨ.  砫 । ࠢ   ᤥ 
  DBA. ਬ, DBA  । ਢ  ᮧ 
⠡ 짮⥫ Rodriguez ᫥騬 ࠧ:

         GRANT RESOURCE TO Rodriguez;



                            :         293
______________________________________________________________________


   

⢥  , 㤠 쬥 짮⥫   
Rodriguez ?   ।  ID ᪠ ?  設⢥ ॠ権, 
DBA ᮧ 짮⥫, ⮬᪨ ।⠢  ਢ 
CONNECT.
 ⮬ 砥, 筮  । IDENTIFIED BY, 㪠-
饥 ஫. ( ᫨  , 樮 ⥬  ।, 
   ॣ஢      ID 㯠. )
DBA , ਬ, 

GRANT CONNECT TO Thelonius IDENTIFIED BY Redwagon;

 ਢ  ᮧ 짮⥫,   Thelonius,   -
 ॣ஢,    ஫ Redwagon,      
।.
  Thelonious - 㦥  짮⥫,   DBA  ᯮ-
    ⮡  ஫ Redwagon.
   㤮,     ࠭祭   ⮬ 室. 
  짮⥫     ॣ஢-
,   ६. ᫨    짮⥫ ॣ-
,   ᯮ짮  REVOKE ਢ CONNECT, -
 "㤠" ⮣ 짮⥫.  ॠ樨   
ᮧ  㤠 짮⥫, ᨬ   ਢ  -
樨.
  ।⠢ ਢ CONNECT 짮⥫,  ᮧ-
 ⮣ 짮⥫.  ⮬ ⮡ ᤥ   ᠬ,   
DBA ਢ. ᫨  짮⥫ 㤥 ᮧ  ⠡ 
(   ⮫쪮 ।⠢ ),  㦭 ⠪ ।⠢ ਢ 
RESOURCE.   ࠧ ஦  ஡.
  ᫨  ᤥ  㤠 ਢ CONNECT 짮⥫, 
   ᮧ ⠡,  㤥 ⪫, ⮬  
 ⢨ ⠢ ⠡  ,    . 
  ᭠砫 㤠  ⠡ ᮧ ⨬ 짮⥫, 
० 祬 㤠  ਢ CONNECT . ᫨  ⠡  -
,   ⭮  ।     㣨 ⠡  -
  INSERT,  ᯮ .   㦭 㤠 
⤥쭮 ਢ RESOURSE; 筮 㤠 CONNECT ⮡ 㤠-
 짮⥫.
   ᪠ -   ⠭ 室  ਢ 
⥬,  ⠪  ⥫ ࠭祭.  ୠ-
⨢ 室,   ⭮ ।  筥 ࠢ 
ਢﬨ ⥬.


      294              SQL      
______________________________________________________________________
              . 22

 뢮 ᪮쪮 뢮   । ⠭ SQL   -
  饥 ६, ,   ॠ,   -
  । ⠭ SQL.   ⭮   ᫨誮  -
, ᫨   DBA   짮⥫ ᮪ ஢.  -
짮⥫    묨  ਢﬨ ⥬  ਭ-
樯, ࠢ  ᢮ 㬥樨 ⮫쪮  砥 ᯥ樠 ᮮ-
饭.


================     ===============

ਢ     SQL   㣫 ७, -
 SQL 믮 ⢨ १ ᯥ樠 짮⥫  ᯥ樠-
 ⥬  .   GRANT 筮 :   -
,  ।⠢    ਢ ꥪ    
짮⥫. ᫨  ।⠢ ਢ WITH GRANT OPTION 
짮⥫,  짮⥫   ᢮ । ।⠢  
ਢ 㣨. 
     ᯮ짮 ਢ  ।⠢-
 - ⮡ ᮢ襭⢮ ਢ   ⠡,   -
ୠ⨢  ࠭祭 -    २⢠  ⪨ -
 室. ਢ ⥬,  室,   室  -
 ⠭ SQL, 㦤    饩 ଥ  ⮬  
㤥     ࠪ⨪.
     23 த 㦤  뢮  SQL, ⠪  ࠭ 
 ⠭ , ᮧ  ᮡ⢥   ⠡-
  ਭ 㣨 ,    ந室  ࠧ-
 짮⥫      ⮬  ꥪ -
६.


                       :              295
______________________________________________________________________



**************   SQL **************

1. । Janet ࠢ   業 稪.

2. । Stephan ࠢ । 㣨 짮⥫ ࠢ
      ⠡ 浪.

3. ⭨ ਢ INSERT( )  ⠡ த殢
    Claire    짮⥫   뫠 ।⠢.

4. । Jerry ࠢ ⠢  ஢ ⠡
   稪  ࠭   業 祭
      100  500.

5.  Janet    ⠡ 稪,  
    㬥 業  ⮩  ⠡ 稪.

( . ਫ A  ⢥⮢. )




                                                                             23




                               SQL




      298               SQL    
______________________________________________________________________
             . 23

      SQL  
  ⭮襭       楫, -
 ᯮ짮 ᫥   ꥪ⮢ , ࠧ-
饭  , ⠭  ࠭  
    ⠪ न஢ ६ ⢨ -
᫥ 짮⥫.  ਠ    -
䨣樨 襩  , ⬥ ⢨ 訡,  ।-
  ⢨  짮⥫       
⢨ 㣨 짮⥫.


=======     ========

 ࠧ,   뫠     ⠡ 
।⠢  騬 襩 ᮡ⢥,   
⠭   䨪  , ⠪   SQL  
  ᪠.     ६ ⠭ 㤮, -
設⢮ ॠ権 SQL   ᮧ ᨭ 
⠡ (    ⠭⮬ ANSI )
 -  ୠ⨢ ,  ஧,  ⠡.
  ᮧ ᨭ,  ⠭  ᮡ⢥, ⠪
   室, ⮡  ।⢮ 㣮
짮⥫᪮ 䨪 㯠(  짮⥫ )
᫨    ࠩ   ਢ    
⮫ ⠡;   ᮧ   ᨭ.
( ஥ ⭮襭  ⮬   ᯥ樠쭠 ਢ
 ᮧ ᨭ.)

Adrian  ᮧ ᨭ   Clients,  ⠡  
Diane.Customers,    CREATE SYNONYM ᫥-
騬 ࠧ:

      CREATE SYNONYM Clients FOR Diane.Customers;

, Adrian  ᯮ짮 ⠡   Clients  
筮 ⠪    ᯮ Diane.Customers.  Clients -  
ᮡ⢥, ᯮ㥬 ᪫⥫쭮  Adrian.


     

䨪 (஧) 짮⥫ -  䠪᪨   
⠡. 直 ࠧ,    㪠뢠  ᮡ⢥ 
짮⥫    襩 ᮡ⢥ ⠡, SQL ᠬ -


                                      SQL        299
______________________________________________________________________


    . ⥫쭮,    ⠡-
  易  ࠧ묨 栬, ⠭  -
  ᫥⥫쭮  ਢ  - ᯮ浪 (  ࠩ-
   SQL ).   砥   짮⥫  ᮧ  
 易 ⠡  묨 ,   ⠪ 
㤥 ,   짮⥫  ᮧ ।⠢ -
   㣮 짮⥫ 饬 ᫥  ⠡.
    ।⠢, ᬠਢ  ᠬ ⠡-
 - ਬ, ᫨ ।⠢  ᯮ CHECK OPTION 
 ⥫ ࠭祭 CHECK   ⠡( ᬮ 
 22  ஡⥩ ).    ⠪ ᮧ  ᮡ⢥-
 ᨭ,    ⠪    ࢮ砫 
 ⠡. ਬ, Adrian  । Customers,  ᢮ 
ᨭ  ⠡ Diane.Customers :

 CREATE SYNONYM Customers FOR Diane.Customers;

 窨 ७ SQL, ⥯   ࠧ   ⠡:
Diane.Customers  Adrian.Customers.  ,    -
짮⥫  뫠  ⮩ ⠡    Customers, 
SQL  ਫ  ᠬ    騥  -
⥫.

   

᫨    ⠡ 稪 ᯮ㥬 訬
᫮ 짮⥫,  ᥣ    뫠    -
   ⮣  .    , ਬ, -
짮    襬 ७ 饭  ࠭祭. 
⮡ ᮧ     짮⥫,  ᮧ 騩 
ᨭ. ਬ, ᫨  짮⥫  뢠 ⠡ 
稪   Customers,   

  CREATE PUBLIC SYNONYM Customers FOR Customers;

 ஭,  ⠡ 稪   ᮡ⢥, ⮬
 䨪  짮⥫  ⮩   㪠뢠.
 ᭮, 騥 ᨭ ᮧ 栬 ꥪ⮢  -
஢묨 짮⥫ﬨ, ⨯ DBA. 짮⥫ ஬ ⮣,
    ।⠢ ਢ  ⠡ 稪 -
      .  ᫨   騬, ᠬ 
⠡ 饩  . 騥 ᨭ ⠭ ᮡ⢥묨 
   PUBLIC,      ᮧ⥫.



    300          SQL     
______________________________________________________________________
         . 23

  

騥  㣨 ᨭ  㤠  DROP SYNONYM.
 㤠  栬, ஬  ᨭ, 
㤠 ᮮ⢥騬 ਢ஢묨 筮ﬨ, 筮
DBA. ⮡ 㤠 ਬ ᨭ Clients,    㦥 
 騩 ᨭ Customers, Adrian  

           DROP SYNONYM Clients;

 ⠡ 稪, ⢥, ⠭  䥪⨢.


   
   ?

  㣨 ꥪ  ࠭     室-
 ⠬ 易묨  ।묨 짮⥫ﬨ   -
.    ஬ ᫥,    ᪠,   ࠭ 
 "   짮⥫ ",     ࠦ  -
᪮ ᯮ,  ,   設⢮ 饩  SQL, -
室  ண ᪮ 樨. ,  ᠬ , -
  ࠭,  䨧᪮ ᫥,   ⢮ 
஥  ᯮ짮 । ꥪ⮬  짮-
,   ६,  ᢮ ।.
    殢,     אַ 㯠  ᪮-
筮   । ( , ,  ७ -
)  ࠭ . ஬ ⮣, 䥪⨢ SQL  -
 ᪠   㤥 ⮡ࠦ  䨧᪨
ᯮᮡ  ஬    २⢮.
     SQL ⥬,   㤥 ࠧ  , ⠪
뢠     .
   ࠭塞 ଠ樨,  ࠧ饭 ⠪, ⮡ 
ଠ   室      믮 
; - ணࠬ   ᪠ -  ଠ, 
㯯஢  筮   .   䨧᪨ 
    ⭮ 㤮, 楫ᮮࠧ ⮡ 
 ࠡ⠫     ᠬ SQL.
⥬  ᯮ    (  쭥襬 -
  -  DBS (Data Base Spaces)),      
SQL ࠡ뢠    ꥪ.



                                        SQL      301
______________________________________________________________________


DBS ᮧ  CREATE DBSPACE ( DBS), 
ACQUIRE DBSPACE( DBS)  CREATE TABLE-
SPACE (  ),  ᨬ  -
㥬 ॠ樨.  DBS    ᫮ 짮-
,  ⤥ 짮⥫      DBS. ਢ-
 ᮧ ⠡,     ।  ᥩ  , 
 ।  ⭮ DBS.
  ᮧ DBS   Sampletables, ᫥饩 :

           CREATE DBSPACE Sampletables
              ( pctindex 10,
                pctfree  25);

ࠬ pctindex ।  業 DBS   ⠢, 
⮡ ࠭    ⠡. Pctfree -  業 DBS  
⠢ ⮡  ⠡栬  ࠧ  ப ( ALTER 
TABLE    ⮫  㢥稢 ࠧ ⮫殢,  
 ப .  - ७  ⢮  ⮣).
 ⠪ 㣨 ࠬ   ⠪  ।,
    ணࠬ  ணࠬ. 設⢮ ணࠬ
⮬᪨  ᯥ稢 祭  㬮砭, ⮬ 
 ᮧ DBS  ।  ࠬ.
DBS    । ࠭祭 ࠧ,    
   ࠭祭   ⠡栬.
᫨ DBS ᮧ, 짮⥫ ।⠢ ࠢ ᮧ  
 ꥪ.   ਬ ।⠢ Diane ࠢ ᮧ ⠡-
 Sampletables   ᫥饩 :

     GRANT RESOURCE ON Sampletables TO Diane;

      ⭮ ।  ࠭
.  DBS 砥  짮⥫ - 筮 ,
  ꥪ ⮣ 짮⥫ ᮧ  㬮砭.
짮⥫ 騥   ᫥ DBS  ।, 
   ࠧ । ꥪ.
 ࠧ 襩    DBS,     
⨯ 権,   㤥  믮.  ,
  㦥 ⭮,   ꥤ,   
 ⠡ 뫠    譥 ,  -
室    DBS.



    302             SQL         
______________________________________________________________________
         . 23

ਬ,    ᮮ  祭 ⨯ ⠡, 
⠡ 浪 㤥  ꥤ       
㣨 ⠡,, ⠪  ⠡ 浪 ᯮ 祭   
 ⠡.   ࠢ ᫮,   ⠡  -
    ᠬ  DBS, ᨬ  ⮣,   . 
 ⢨ ࠭祭 譥   ⠡ -
,  ਢ   ண ᮢ⭮ ᯮ짮 -
 DBS.


              
========    ? =======

㠫쭮, ।  ,  ⨭  ﭭ ⮡ࠦ 
  짮⥫, ﭭ   塞 -
, ᪠,  ᫨ ⥬ ࠢ쭮 ࠧࠡ⠭,  㤥 㭪-
樮஢  ᡮ.  ॠ쭮,  祫᪨  -
 ᡮ, 訡 ६  ६ ,  ⮬ -
訥  ணࠬ ⠫ ਬ ᯮᮡ ⬥ -
 맢 ⠪ 訡.
 SQL,    ᮤঠ   
 - ਬ  䨪樨 DML   DROP TABLE,  
-  易⥫쭮 㤥 ⨬.   । ᫥ -
  ⢨, ⠭   ᤥ    
㯯  ﭭ묨   ,     
ந஢.   ⮩ 楫,  ࠡ뢠 㯯, -
뢠묨 - ࠭ﬨ.
࠭ 稭 直 ࠧ,   稭 ᥠ  SQL.  
      ⮩ ࠭樨,    -
    COMMIT WORK   ROLLBACK 
WORK. COMMIT  ᤥ   ﭭ묨   
࠭樨,  ROLLBACK  ⪠  ⭮  ⬥.  
࠭ 稭 ᫥   COMMIT  ROLLBACK. 
  ⥭   ࠡ⪠ ᮢ  ࠭.
⠪, ⮡ ⠢    ﭭ묨  ६ -
樨,   ६ ᫥ COMMIT  ROLLBACK

                     COMMIT WORK;



                                       SQL       303
______________________________________________________________________


⠪ ⬥  -

                    ROLLBACK WORK;

 設⢥ ॠ権,   ⠭ ࠬ, 뢠
AUTOCOMMIT.  㤥 ⮬᪨   ⢨ -
  믮.  ⢨  ਢ  訡, ᥣ 
⮬᪨ "ப祭" ⭮. ᫨  ।ᬮ७  襩 -
⥬,  䨪樨   ⢨,   ᯮ짮  
    ⨯:

                 SET AUTOCOMMIT ON;

    筮  ࠡ⪥ ᮢ  -
 ⠪ :

                 SET AUTOCOMMIT OFF;

  ⠭ AUTOCOMMIT  ⥬ 믮
⮬᪨  ॣ樨.
᫨ ᥠ 짮⥫ 蠥 ਩ - ਬ, ந襫 ᡮ 
⥬  믮 १㧪 짮⥫, -  ⥪ ࠭ 
믮 ⮬᪨ ⪠ .  -   稭,  ன 
  ࠢ 믮 襩  ࠡ⪨ ᮢ, 
ࠧ    讥 ⢮ ࠧ ࠭権. -
筠 ࠭   ᮤঠ  易 ; 䠪-
᪨,     ⢥ .
࠭樨    㯯 易   -
⠢  䠪᪨  롮 ࠭  ⪫ 楫 
㯯, ᫨   ⬥ ⮫쪮  । .
訬 ࠢ ஬  ᫥,    ࠭樨 
騬     ᪮쪨  易 .
ਬ, ।    㤠 த Motika   -
. ०, 祬  㤠   ⠡ த殢,  ᭠砫 -
 ᤥ -   浪   稪. ( ᫨ ᯮ-
 ࠭祭 譥 ,   ⥬, ᫥ ANSI, -
稢  த⥫᪮ ,    㤥 롮  
   ⮣.   㤥 ᤥ 易⥫쭮.)



     304            SQL        
______________________________________________________________________
          . 23

  ᪨ 襭, 㤥   ⮬, ⮡ ⠭  
snum   浪  NULL,  ᫥⢨ 祣   த  
ᨮ   浪,  ᨮ   ।⠢ 
稪  Peel. ⥬   㤠   ⠡ த殢:

             UPDATE Orders
                SET snum = NULL
                WHERE snum = 1004;

             UPDATE Cudomers
                SET snum = 1001
                WHERE snum = 1004;

             DELETE FROM Salespeople
                WHERE snum = 1004;

   ᫨   ஡  㤠 Motika (   㣮 
譨  뫠騩    ஬      -
 ),    ⬥     ᤥ,   
  ஡  㤥 ।  襭. 
  ⮣,    㯯 , ⮡ ࠡ뢠   
 ࠭.   ।ᬮ    -
 COMMIT,       COMMIT  
ROLLBACK.

 SQL  
  

 SQL  ᯮ  짮⥫᪨ । -  ।,  
ࠧ  짮⥫  믮 ⢨    -
६.  ᮧ ⥭樠  䫨  
ࠧ묨 믮塞묨 ⢨ﬨ. ਬ, ।   
믮   ⠡ த殢 :

          UPDATE Salespeople
             SET comm = comm * 2
             WHERE sname LIKE 'R%';



                                         SQL     305
______________________________________________________________________

    ६, Diane  ⠪ :

           SELECT city, AVG (comm)
              FROM Salespeople
              GROUP BY city;

  । 祭(AVG) Diane ⠧    
  ⠡?  , 㤥  ᤥ  ,     -
 ࠦ       祭 ᨮ (comm)  
 믮﫨 .  ஬ १ -
 砩  ।᪠㥬,  浪  ஬ 祭 -
  䨧᪨. 뢮 ,    砩  -
।᪠㥬.
ᬮਬ    㣮 ஭. ।,   室 訡-
  ப稢 ⭮   䨪樨 㦥 ᫥ ⮣,  
Diane 稫  १   뢮.  ⮬ 砥 Diane  
 । 祭 ᭮     뫨 
 ⬥,     ଠ樨 筠.
ࠡ⪠ ६ ࠭権 뢠 - ࠫ  ᮢ-
,     ஡    ⮬ -
.   ᫥騥 ਬ:

*  䨪   ᤥ   㣮 
   䨪樨. ਬ, த  ᤥ   ⠡-
     ਧ樨, ⮡   ࠣ⮢ 㭪⮢ ࣮-
   楢 ﬨ,  㯮冷     稪. ०, 祬 
      뫮 ᤥ, 㣮 த    ⠡-
     㯮冷稢 ᥬ    ࠧ⮢  ᢮ 稪.
  _______________________________________________________
  :    ନ "㯮冷", 祭 饯ਭ⮬ - 
  "",   ਭ樯  ᮮ⢥  , ⮬  
   窨 ७  짮⥫,   "뢠" ଠ   
  ,   㯮冷稢  ଠ  ᮮ⢥⢨  "".    ________________________________________________________

*        ப祭 ⭮ 
   㦥 ᫥ ⮣,   ⢨ 㦥 뫨 祭. 
   ਬ ᫨  ⬥  訡 㦥 ᫥ ⮣,  Diane 
   稫 ᢮ 뢮.

*   ⢨  ⢮ 筮  १-
    㣮 ⢨. ਬ  Diane 砥 । 
   祭   ६   믮 䨪  祭. 
       ᥣ ஡筮,  設⢥ 砥 ⢨ 
   ⠪   ᫨  ॣ  뫨 ࠧ ﭨ  


      306          SQL      
______________________________________________________________________
           . 23

     㭪 ⭮⥫쭮 ⠡쭮. ਬ  ॢ-
    ,         
   饥 । 祭  Diane  ன ६-
    窥,  ⠢      뫮  ᤥ-
    稭 㦥  ⮣ .  㤥  ᤥ, ᫨ 
   䨪 뫠 믮  ६ ᫥ 㭪樨.

*  㯨.   짮⥫   믮 -
     䫨   㣮.   ਬ, ᫨  
   짮⥫ ஡   祭 譥   - 
   祭 த⥫᪮  ६.

  ᫮ 業ਥ  㦭 뫮  ᫥-
⥫쭮 ᬠਢ, ᫨  ६ ࠭樨 뫨 -
ࠢ塞묨.  , SQL ᯥ稢  ।⢮ ࠢ 
ࠫ  筮 㪠  祭 १.  
ANSI 㪠뢠  ࠢ ࠫ -   ६-
   믮  ਭ樯 -     -
  뤠,  ।  㤥 襭 ( -
 COMMIT  ROLLBACK ).
  筮, 㦭    ⠡  㯭  
祬   ࠭樨    ६.   設-
⢥ 権, 室    㯭 ࠧ 
짮⥫, ਢ  ஬ ஬  ࠢ ࠫ-
.  ॠ樨 SQL । 짮⥫ 롮, 
  ᠬ 室  ।  ᮣᮢ
  㯭   .  롮 㯥 짮⥫, 
DBA,  ⮬  㣮.
    ᠬ   ⢫  ࠢ  SQL,  ᫨  
   ࠡ ᠬ SQL.
  堭 ᯮ㥬 SQL  ࠢ ࠫ 権, 
뢠 - ஢.  ஢ ন । -
樨   ,  㣨 樨  ࠭樨  襭.
ঠ 樨 ࠨ  ।  믮 ⮫쪮
 ஢  (  㬥 ஢   -
 㪠뢠 NOWAIT,   㤥 ⪫   
⮣ ⮡ ⠢   ।,    - 㣮).



                                      SQL        307
______________________________________________________________________

  ஢  짮⥫᪨ ⥬ 室. ⥫-
,    ⨯ 奬 ஢  㬮砭,   
 ਬ  ᥬ    .  奬  㬮砭, 
  ।  ᥩ  ,   ⢥ ࠬ  
 CREATE DBSPACE   ALTER DBSPACE,  ⠪ 
ࠧ ᯮ짮   ࠧ  ࠧ DBS.
஬ ⮣, ⥬ 筮 ᯥ稢  ⨯ 㦨⥫
ᠭ,   㦨 樨,   樨 -
 ஢, 騥  㣠.  ⮬ 砥,    
㤥 ப祭 ⭮    ஢.
  ନ  ᯥ䨪 奬 ஢   ணࠬ-
  ணࠬ,   ᬮ஢  㦤  ਬ 
ணࠬ   DB2  IBM. IBM -   ⮩  
( 稬    㣨 ),   ⮬ ⠪ 室  -
.  㣮 ஭,  ॠ樨   ⥫ 
ࠧ  ᨭ⠪   㭪,   ᭮  ⢨  
 祭 宦.


 

   ⨯ ஢: 
- ।塞 ஢  
- ᯥ樠 ஢.
  ।塞 (  S-஢ )   ⠭  祬 
 짮⥫    ६.    -
  짮⥫   ,    .
  樠 ஢ (  X-஢ )    -
, ஬  ⮩ ஢   .
樠 ஢ ᯮ     -
ঠ   ⠡.      ࠭樨.
  騥 ஢ ᯮ  ᮢ. ᪮쪮  த-
⥫  䠪᪨  ஢ 樨.
   ⠪ ஢ 樨 ஢?  - ,  ।, ᪮-
 ⠡ 㤥 ஢.
 DB2,   ஢ 樨,     ਬ  
 ।   ᯥ樠 ஢,  ⨩, ࠭祭, 
⮡ ᯮ짮  ஢ ᮢ⭮.  ࠢ -
 묨  SQL, ⠪    㦤  㪠뢠  
筮 ᨭ⠪.  ᨭ⠪  易  ஢
 - ࠧ祭  ࠧ ॠ権.
饥 㦤  ० ᥣ  楯㠫쭮 ஢.



      308              SQL     
______________________________________________________________________
            . 23

஢ 樨 - ୮ ⥭ - ࠭,    
࠭樨,   祭   ᮢ,    
. ᪮  㥬  ࠭樨  
ꥪ⠬ ᯥ樠쭮 ஢,  ࠭  襭,  
      砥.
 㣮 ஭  ᮢ, ୮ ⥭ 砥,   -
  ࠭,  ப   ஢  믮 
   롥. 믮 ,  ࠭஢,  
    ᤥ   ப,      
  ⥪ ࠭.
   ६  ୮ ⥭ 頥 짮⥫,  -
⨫ ஢,      ६ ⥫쭮 ᭨ ந-
⥫쭮.
  ஢ 㪠⥫ ⠡쭮 - ।࠭    -
,  ६   ⠥   ⥭  ६  . 
᫥ 砩  ᯥ樠쭠 ஢,  ਬ  -
  襭     ⬥( ..  ६ ⪠ -
 ).
⥫쭮,    㯯 ᥩ ᯮ
㪠⥫ ⠡쭮,    ஢  ࠭ 
 ,  筮 ⢨ ந ஢ -
 ⥭. 稨  ⨬  ஢ﬨ   ⢨  
.   砥 ஢ 㪠⥫ ⠡쭮, ப ⠡ -
   ६  ᯮ ᮬ,   .  
⨩ ஢ 樨 DB2 -  ஢ ⮫쪮 ⥭.
쪮 ⥭ 䨪 ࠣ ;   ᠬ   -
  ⠡. ⥫쭮,    ᯮ짮  -
 䨪樨.  ᮤঠ ⠡   楫,   
믮 , 㤥 ࠦ  뢮 .
    易⥫쭮 ⠪   砥  ஢ 㪠⥫ ⠡쭮.
஢ ⮫쪮 ⥭,  ࠭   뢮 㤥 ७ 
ᮣᮢ, ᫨ 筮  室  ன ஢,  -
뢠饩   ⠡  ஢ ୮ ⥭.
஢ ⮫쪮 ⥭ 㤮 ⮣,    , 
  ७ ᮣᮢ,     設 
  ᥬ ப ⠡,  뢠  .

   

 ॠ樨 믮 ஢ ࠭  -
஢ ப.       襣 ࠢ-
    㦥   ⥬.


                                      SQL      309
______________________________________________________________________


  ࠭ -    , 筮 ࠢ 1024 .
࠭       ப ⠡, 
ᮯ஢ ᠬ  㣮 ਩ ଠ樥,  
    ᪮쪨 ப 㣮 ⠡.
᫨   ࠭  ப,     ࠭-
  ஢ 筮 ⠪    㠫 ப, 
ᮣ᭮ ஢ 樨 ᠭ .
  ᭮ २⢮ ⠪ 室  䥪⨢.
 SQL  ᫥  ஢  ࠧ஢ ப
㠫쭮,  ࠡ⠥ ॥.  㣮 ஭,  SQL  
ࠧࠡ⠭ ⠪ ⮡ ᨬ஢ ᢮ ,  ந-
  ப  易⥫쭮 뫮 ஢.
  宦 , 㯭   ⥬ -  -
஢ ⥩ DBS.     ⥭  -
 祬 ࠭, ⠪   室 㤮⢮  ⮨ 㢨-
祭 ந⥫쭮   ஢ ࠭.
    ⪫ ஢  ஢ ᫨  -
   ⥫ ஡  䥪⨢.


==============   ===================

祢 ।,  묨    ⮩ :

*  ,   ᮧ    ꥪ⮢ .

*     (DBS),   । 㯭 
      .

*  ࠭,   ࠭  ⠭   
      .

*  ࠢ ࠫ,   SQL ।࠭  -
        㣮.

 -  ꥪ,  ⮬ ᫥,      ()
楢,  ⢥    ⢮  ⠡,  
  .    騬  ᫥⥫쭮 㯭-
      ꥪ,    ਭ 
। 짮⥫.



     310             SQL    
______________________________________________________________________
           . 23

 DBS   DBS -  ࠧ  ,  
।  짮⥫. 易 ⠡, ( ਬ ⠡-
,    ꥤ,)  ࠭  饩  
 DBS.

OMMIT  ROLLBACK- , ᯮ㥬  믮 
   ,   ६  ।  COMMIT 
  ROLLBACK, 稭 ᥠ  ⠢  ,  
   㯯.

।⢮ ࠢ ࠫ - ।   ⥯
६      .  -
 㥬 ।⢮, 室騬 ஬  ந-
⥫쭮    樥  .



                                        SQL      311
______________________________________________________________________


**************   SQL **************

1.       Myspace 
   뤥 15 業⮢ ᢮   ᮢ,  40
   業⮢  ७ ப.

2.  稫 ࠢ SELECT  ⠡ 浪 த Diane. 
     ⠪ ⮡   뫠  ⮩ ⠡ 
     "Orders"  ᯮ  "Diane"  ⢥ 䨪.

3. ᫨ ந ᡮ ⠭,    ᥬ ﬨ
   ᤥ묨  ६ ⥪饩 ࠭樨 ?

4. ᫨     ப -  ஢,    
   ⨯ ஢ ?

5. ᫨    饥, ᨬ쭮,  ।
   祭 㬬 ਮ⥭   浪,     
   ⮬  㣨 짮 ⠡楩,  ஢ 
    樨 㤥 ⮬ ᮮ⢥⢮ ?

( . ਫ A  ⢥⮢. )






                                                                            24




                   SQL 

                      




    314             SQL    
______________________________________________________________________
          . 24

  ,     SQL  
 ࠭ ᠬ࣠. 
 㤨⥫쭮,  ᠬ࣠ ᯥ稢 ५樮 
 , ᮧ  ন   ணࠬ. 
    ⨬ ⠡栬 ᠬ⥫쭮  祭 
ଠ樨  ਢ, ⠡, ,  ⠪ .   
   ⨯ ᮤঠ騥  ⠪  .


 

⮡ 㭪樮஢  SQL  ,  ୠ ⥬
 ᫥   ࠧ묨 ﬨ: ⠡栬, ।⠢-
ﬨ, ᠬ, ᨭ, ਢﬨ, 짮⥫ﬨ,  ⠪ .
 ࠧ ᯮᮡ  ,  ᭮,   ,
䥪⨢,  ᮣᮢ ᯮᮡ    ५樮 । 
⮨  ⮬, ⮡ ࠭  ଠ  ⠡.    -
  ࠧ  ࠢ ଠ樥  ன  
㦤, ᯮ   ᠬ 楤   ᯮ ⮡ 
ࠧ  ࠢ 묨   ࠭  .
  -  ⭮ ணࠬ,    ⠭ ANSI, -
設⢮ SQL  , ᯮ  SQL ⠡ ࠭ 㦥-
 ଠ  ᢮ ७ ॡ⥩.   뢠-
  ࠧ 㡫  - ⥬ ⠫, ᫮ ,
  ⥬ ⠡ ( ନ "᫮ "  ⠪ 
⭮  饬 娢 ,  ଠ  䨧᪨ 
ࠬ    ࠭  SQL.
⥫쭮,  ணࠬ  ,    ⥬-
 ⠫  ᫮ . )

 ⥬ ⠫  -   SQL ⠡:   
ப  ⮫ . ਬ,  ⠡ ⠫ 筮 ᮤ-
 ଠ  ⠡    ,   -
   ⠡  ; 㣠 ᮤন ଠ  ࠧ-
 ⮫ ⠡,   ப  ⮫,  ⠪ .
 ⠫ ᮧ  ᢠ   ᠬ  -
,     ᯥ樠 , ⠪ ਬ
 SYSTEM.   ᮧ  ⠡    -
᪨; ⠡ ⠫    ।⢥ ࣭
⢨  䨪樨.



      SQL        315
______________________________________________________________________

᫨  ,  ⥫쭮 ⠥  ⥬  ᤥ  -
ࠡᯮᮡ.  ,  設⢥ ⥬, ⠫   -
襭 짮⥫.  祭 , ⮬     -
 㧭 -   ,   ᯮ. 筮, 
 ଠ  ᥣ 㯭 ᥬ 짮⥫.  㣨 
⠡栬,   ⠫ ࠭祭  짮⥫  ᮮ⢥-
 ਢ.
  ⠫ ਭ ᠬ ⥬,   ᭮ 
⭮⥫쭮 ⮣,   ਢ    ।⠢ ਢ-
  ⮬ ⠫. 筮, ਢ ⠫ ।⠢ 㯥-
짮⥫, ਬ,  ⥬, ॣ஢  
SYSTEM  DBA.  ஬ ⮣,  ਢ  ।⠢-
 짮⥫ ⮬᪨.


  

 ᬮਬ  ⠡      
⨯ ⠫ ⥬:

                              ঠ
       -------------                -------------------------------------------

 SYSTEMCATALOG       (  ।⠢)

 SYSTEMCOLUMNS      ⮫ ⠡

 SYSTEMTABLES         ⠫ ।⠢  SYSTEMCATALOG

 SYSTEMINDEXES         ⠡

 SYSTEMUSERAUTH     짮⥫  

 SYSTEMTABAUTH       ꥪ ਢ 짮⥫

 SYSTEMCOLAUTH       ⮫殢 ਢ 짮⥫

 SYSTEMSYNONS           ⠡

, ᫨  DBA ।⠢ 짮⥫ Stephen ࠢ ᬠ-
ਢ SYSTEMCATALOG  ⠪ , 

     GRANT SELECT ON SYSTEMCATALOG TO Stephen;



     316               SQL     
______________________________________________________________________
           . 24

 Stephen ᬮ 㢨  ଠ   ⠡ 
   (    짮⥫ DBA, 짮⥫ Chris,
   ⨯ ⠡,  ⠪ Adrian  ।-
⠢ Londoncust ).

        SELECT tname, owner, numcolumns, type, CO
           FROM SYSTEMCATALOG;


         ===============  SQL Execution Log ===============
        |                                                  |
        | SELECT tname, owner, numcolumns, type, CO        |
        | FROM  SYSTEMCATALOG;                             |
        |                                                  |
        | ================================================ |
        |   tname          owner    numcolumns  type  CO   |
        | -------------   -------   ----------  ----  ---  |
        | SYSTEMCATALOG   SYSTEM            4     B        |
        | Salespeople     Chris             4     B        |
        | Customers       Chris             5     B        |
        | Londoncust      Adrian            5     V    Y   |
        | Orders          Chris             5     B        |
        |                                                  |
         ==================================================

㭮 24.1: ঠ ⠡ SYSTEMCATALOG

   ,  ப 뢠 ᢮  ⠡.
 ⮫ - ; ன -  짮⥫   ;
⨩ - ᫮ ⮫殢  ᮤন ⠡;  ⢥ - 
  ᨬ,   B (   ⠡ )  V (  ।-
⠢ ). ᫥ ⮫  (NULL) 祭, ᫨  
⨯  ࠢ V;   ⮫ 㪠뢠, ।   -
 ஢ન. 
   SYSTEMCATALOG( -
) ।⠢    ⠡  㪠 ᯨ᪥.  
,  ᪫稫 ⠫ ⠫ ⥬  뢮. -
 ⥬ ⠫ 筮 뢠  SYSTEMCATALOG.




    SQL            317
______________________________________________________________________

 
   

᪮ SYSTEMCATALOG -  ⠡,   ᯮ짮 
  ।⠢. ᪨  ,   ⠪ ।⠢-
   SYSTEMTABLES. 
 ।⠢ SYSTEMCATALOG ᮤন ⮫쪮  ⠡, -
 室  ⥬ ⠫;  筮 ⠡  , ⨯ 
⠡ த殢,    SYSTEMCATALOG,    SYS-
TEMTABLES.
 ।,  ⮫쪮 ⠡ ⠫  ᮡ⢥-
 짮⥫ SYSTEM. ᫨  ,   । 㣮 
।⠢, ஥  ᯥ樠쭮 ᪫砫 ⠡ ⠫  -
:

           CREATE VIEW Datatables
              AS SELECT *
                 FROM SYSTEMCATALOG
                 WHERE owner < > 'SYSTEM';

   ()
   
஬ ⮣,  㣮 ᯮ짮 ।⠢ ⠫.
।  㦭 ⮡  짮⥫  ᯮᮡ ᤥ-
  ⠫,  祭 ଠ樨 ⮫쪮  ⠡ -
묨  .  祭 USER,   SQL ﭭ  ID 
㯠 짮⥫ 뤠饣 ,   ᥣ  ᯮ-
짮, ⮡   짮⥫ ⮫쪮   ᮡ⢥ 
⠡栬.
   ,  砫 ᮧ ᫥饥 ।⠢:

               CREATE VIEW Owntables
                 AS SELECT *
                    FROM SYSTEMCATALOG
                    WHERE Owner = USER;

   ।⠢ ᥬ 짮⥫   ⮬
।⠢:

            GRANT SELECT ON Owntables TO PUBLIC;

 짮⥫ ⥯, ᯮᮡ 롨 (SELECT) ⮫쪮 
ப  SYSTEMCATALOG, 楬   ᠬ .



      318             SQL     
______________________________________________________________________
             . 24

 SYSTEMCOLUMNS   讥 -
  ⮬,   짮⥫ ᬠਢ ⠡ SYS-
TEMCOLUMNS  ⮫殢   ᮡ⢥ ⠡.
砫,  ᬮਬ   ⠡ SYSTEMCOLUMNS, 
뢠  ⨯ ⠡( 㣨 ᫮, ᪫稬 ᠬ ⠫):

   tname      cname   datatype  cnumber  tabowner
 -----------  -----   --------  -------  --------

 Salespeople  snum    integer      1      Diane

 Salespeople  sname   char         2      Diane

 Salespeople  city    char         3      Diane

 Salespeople  comm    decimal      4      Diane

 Customers    cnum    integer      1      Claire

 Customers    cname   char         2      Claire

 Customers    city    char         3      Claire

 Customers    rating  integer      4      Claire

 Customers    snum    integer      5      Claire

 Orders       onum    integer      1      Diane

 Orders       odate   date         2      Diane

 Orders       amt     decimal      3      Diane

 Orders       cnum    integer      4      Diane

 Orders       snum    integer      5      Diane

    ,  ப ⮩ ⠡ 뢠 ⮫-
 ⠡   .  ⮫  ⠡  -
 ࠧ , ⠪   ⠡    -
짮⥫,    樨 짮⥫, ⠡,   
⮫殢  ࠧ  ᮡ.
    ⥫쭮 ⠡ ⮫: tname (  ⠡ ), tabowner
(  ⠡ ),  cname (  ⮫ ),  ⠢ -
  ⮩ ⠡.   ⮫ datatype( ⨯  )  
ᠬ  ᥡ.  ⮫ cnumber (  ⮫ ) 㪠뢠  -
 ⮣ ⮫  ⠡.  饭,  -
 ࠬ  ⮫, 筮,  ⠡.  


     SQL           319
______________________________________________________________________

 ࠢ,  ப  SYSTFMCATALOG  뫠 
 ⮩ ⠡:

tname        owner  numcolumns   type   CO
-------------  ------  -----------    -----  ---

SYSTEMCOLUMNS  System   8              B


 SQL ॠ樨,  ᯥ稢  訬 ⢮
 祬    ⮫,    ᭮ 
 ॠ権.

 樨 楤 ।  砫 ⮣ ࠧ, -
 ᯮᮡ, 騩  짮⥫  ଠ SYS-
TEMCOLUMNS ⮫쪮  ਭ  ⠡:


          CREATE VIEW Owncolumns
             AS SELECT *
                FROM SYSTEMCOLUMNS
                WHERE tabowner = USER;

          GRANT SELECT ON Owncolumns TO PUBLIC;



                       
==========      ============

設⢮ ᨩ SQL,    ਨ(६ન) 
 ᯥ樠 ⮫ ᭥ ⠡ ⠫ SYSTEMCATALOG 
 SYSTEMCOLUMNS,  㤮, ⠪   ⠡  ᥣ 
᭨ ᢮ ᮤঠ.  ,   ᪫砫  ⮫-
   権.
  ᯮ짮  COMMENT ON  ப ⥪, ⮡
᭨  ப     ⠡. ﭨ - TABLE,  -
஢  SYSTEMCATALOG,  ⥪ - COLUMN,  SYSTEM-
COLUMNS.      ਬ:

               COMMENT ON TABLE Chris.Orders
                  IS 'Current Customer Orders';

 㤥 饭  ⮫ ᭥ SYSTEMCATALOG. 筮,
ᨬ쭠  ⠪ ᭥ - 254 ᨬ.



        320            SQL     
______________________________________________________________________
              . 24

 ਩, 㪠뢠  ⭮ ப,   tname=Orders, 
 㣠 owner=Chris.  㢨  ਩  ப  ⠡ 
浪  SYSTEMCATALOG:

         SELECT tname, remarks
            FROM SYSTEMCATALOG
            WHERE tname = 'Orders'
               AND owner = 'Chris';

   뢮  ⮣  뢠  㭪 24.2.

SYSTEMCOLUMNS ࠡ⠥ 筮 ⠪ . 砫,  ᮧ ਩

            COMMENT ON COLUMN Orders.onum
              IS 'Order #';

 ⥬ 롨ࠥ  ப  SYSTEMCOLUMNS:

           SELECT cnumber, datatype, cname, remarks
              FROM SYSTEMCOLUMNS
              WHERE tname = 'Orders'
                 AND tabowner = 'Chris'
                 AND cname = onum;

뢮  ⮣  뢠  㭪 24.3.

⮡  ਩,       
COMMENT ON  ⮩  ப.  ਩ 㤥 ᠭ 
 ண. ᫨   㤠 ਩,    
 ⮩ ਩,  ᫥饬:

            COMMENT ON COLUMN Orders.onum
               IS ";

  ⮩ ਩  ।騩.



    SQL           321
______________________________________________________________________


         ===============  SQL Execution Log ===============
        |                                                  |
        | SELECT tname, remarks                            |
        | FROM  SYSTEMCATALOG                              |
        | WHERE tname = 'Orders'                           |
        | AND owner = 'Chris'                              |
        | ;                                                |
        | ================================================ |
        |   tname          remarks                         |
        | -------------   -----------------------          |
        | Orders          Current Customers Orders         |
        |                                                  |
         ==================================================

   㭮 24.2:  ਩  SYSTEMCATALOG


         ===============  SQL Execution Log ===============
        |                                                  |
        | SELECT cnumber, datatype, cname, remarks         |
        | FROM  SYSTEMCOLUMNS                              |
        | WHERE tname = 'Orders'                           |
        | AND tabowner = 'Chris'                           |
        | AND cname = 'onum'                               |
        | ;                                                |
        | ================================================ |
        |   cnumber      datatype    cname    remarks      |
        | ----------     ---------   ------  ------------  |
        |          1     integer     onum    Orders #      |
        |                                                  |
         ==================================================

   㭮 24.3:   ਩  SYSTEMCOLUMNS



       322          SQL      
______________________________________________________________________
           . 24

===========    ===========

   ⠢訥   ⥬ ⠡ ।,  
⨯ ᮬ  :


SYSTEMINDEXES -    

 ⮫殢  ⠡ SYSTEMINDEXES    ᠭ - ᫥騥:

                       
  -------------     -----------------------------------------------

  iname           ( ᯮ㥬   ᪫祭 )

  iowner         짮⥫  ᮧ 

  tname          ⠡  ᮤন 

  cnumber        ⮫  ⠡

  tabowner      짮⥫   ⠡楩 ᮤঠ饩
                   

  numcolumns  ᫮ ⮫殢  

  cposition       ⥪饣 ⮫ ।  ᮢ

  isunique          ( Y  N )


     ⠥ 㭨, ᫨ 
 뢠 த,  snum ⮫ ⠡ 稪:

     SELECT iname, iowner, tname, cnumber, isunique
        FROM SYSTEMINDEXES
        WHERE iname = 'salesperson';

뢮  ⮣  뢠  㭪 24.4.



      SQL           323
______________________________________________________________________


         ===============  SQL Execution Log ================
        |                                                   |
        | SELECT iname, iowner, tname, cnumber, isunique    |
        | FROM  SYSTEMINDEXES                               |
        | WHERE iname = 'salespeople'                       |
        | ;                                                 |
        | ================================================= |
        |   iname      iowner   tname     cnumber  isunique |
        | -----------  ------  ---------- -------  -------- |
        | salesperson  Stephan  Customers       5   N       |
        |                                                   |
         ===================================================

   㭮 24.4:  ப  ⠡ SYSTEMINDEXES



SYSTEMUSERAUTH -   
      

 ⮫殢  SYSTEMUSERAUTH   ᠭ, ᫥饥:


              
  --------------   -----------------------------------------------

  username      䨪 ( ID ) 㯠 짮⥫

  password      ஫ 짮⥫   ॣ樨

  resource        짮⥫  ࠢ RESOURCE

  dba              짮⥫  ࠢ DBA

 㤥 ᯮ짮  奬 ⥬ ਢ, 
।⠢   22,  뫨 ।⠢  ⥬ ਢ-
 - CONNECT(  ), RESOURCE(  ) 
 DBA.
 짮⥫  CONNECT  㬮砭  ॣ樨,
⮬   ᠭ  ⠡ .  ﭨ ⮫殢
resource  dba   - Y ( , 짮⥫  ਢ)
 - No (, 짮⥫   ਢ).



       324             SQL        
______________________________________________________________________
             . 24

  ஫ (password) 㯭 ⮫쪮 ᮪ ਢ஢
짮⥫, ᫨  . ⥫쭮  ⮩
⠡    ⮫쪮  ଠ樨 ⭮⥫쭮
ਢ ⥬  짮⥫.

   ⮡   짮⥫  
 ਢ RESOURCE,  㢨    - DBA,  
  ᫥饥 ᫮:

         SELECT username, dba
            FROM SYSTEMUSERAUTH
            WHERE resource = 'Y';

뢮  ⮣  뢠  㭪 24.5.


SYSTEMTABAUTH -  
    

   ⮫殢  ⠡ SYSTEMTABAUTH 
   ᠭ:


   COLUMN           
   ------------     ---------------------------------------------
   username      짮⥫   ਢ

   grantor       짮⥫  । ਢ
                     짮⥫

   tname          ⠡  ன  ਢ

   owner          tname

   selauth         짮⥫ ਢ SELECT

   insauth         짮⥫ ਢ INSERT

   delauth         짮⥫ ਢ DELETE

 祭    ᫥ ਢ ꥪ
(  ⮫殢  稢  auth ) - Y, N,  G.
G 㪠뢠  짮⥫  ਢ  



     SQL          325
______________________________________________________________________

। ਢ.   ப,  ࠩ    
⮫殢   ﭨ ⫨筮  N (㣨 ᫮,
  - ਢ ).

         ===============  SQL Execution Log ================
        |                                                   |
        | SELECT username, dba                              |
        | FROM  SYSTEMUSERAUTH                              |
        | WHERE resource = 'Y'                              |
        | ;                                                 |
        | ================================================= |
        |   username    dba                                 |
        | -----------  ------                               |
        |  Diane         N                                  |
        |  Adrian        Y                                  |
        |                                                   |
         ===================================================

㭮 24 .5: 짮⥫   ਢ RESOURCE

  ⮫ ⮩ ⠡ ⠢ ࢨ .  
砥     tname, -짮⥫ (  
,   ࠧ ⠡  ࠧ묨 栬  
   ⮦  ), 짮⥫  짮⥫ ।騩 -
( ࠭ ),   㭨쭮.  ப ⮩ ⠡ 
ᮤন  ਢ (    । ⮫-
殬 ), ।⠢  । 짮⥫ 㣮
। 짮⥫  ⭮ ꥪ.
UPDATE  REFERENCES,  ਢﬨ,   
 ।묨 ⮫栬,  室  ࠧ ⠡ -
. ᫨ 짮⥫ 砥 ਢ  ⠡   祬 -
 짮⥫, ⠪ ਢ   ⤥묨 ப -
묨  ⮩ ⠡.  室  ᪠ ᫥ 
 맮 ਢ.

    ⮡   ਢ SELECT, INSERT, 
 DELETE,  Adrian ।⠢ 짮⥫  ⠡ -
,    ᫥饥 ( 뢮   㭪 24.6 ):

               SELECT username, selauth, insauth, delauth
                  FROM SYSTEMTABAUTH
                  WHERE grantor = 'Adrian'
                     ANDtname = 'Customers';



         326             SQL      
______________________________________________________________________
                . 24


         ===============  SQL Execution Log ================
        |                                                   |
        | SELECT username, selauth, insauth, delauth        |
        | FROM  SYSTEMTABAUTH                               |
        | WHERE grantor = 'Adrian'                          |
        | AND tname = 'Customers'                           |
        | ;                                                 |
        | ================================================= |
        |   username   selauth  insauth  delauth            |
        | -----------  -------  -------- --------           |
        |  Claire      G        Y        N                  |
        |  Norman      Y        Y        Y                  |
        |                                                   |
         ===================================================

㭮 24. 6: 짮⥫ 稢訥 ਢ  Adrian

 ,  Adrian ।⠢ Claire ਢ INSERT  SELECT 
 ⠡ 稪,  ।⠢  ࠢ  । ਢ. 
짮⥫ Norman,  ।⠢ ਢ SELECT, INSERT,  DELETE, 
    । ਢ     . ᫨ Claire 
 ਢ DELETE  ⠡ 稪  - 㣮 -
筨,  ⮬     㤥.


SYSTEMCOLAUTH

            
     -------------   -------------------------------------------

     username    짮⥫   ਢ

     grantor     짮⥫  ।⠢ ਢ
                   㣮 짮⥫

     tname        ⠡  ன  ਢ 

     cname        ⮫  ஬  ਢ

     owner        tname

     updauth       짮⥫ ਢ UPDATE  ⮬
                     ⮫

     refauth       짮⥫ ਢ REFERENCES 
                    ⮬ ⮫


     SQL            327
______________________________________________________________________


⮫ updauth  refauth    ﭨ Y, N,  G;    
 ६  ﭨ N    ⮩  ப. 
 -   ⮫殢 ⠡,   ⠢ ࢨ . 
 ⫨砥  ࢨ筮  SYSTEMTABAUTH  ஬ ᮤ-
  cname, 㪠뢠饥  । ⮫ 㦤 ⠡-
  ன ਬ    ਢ. ⤥쭠 ப  -
 ⠡  ⢮   ⮫    ⠡ 
 ன  짮⥫ । ॢ  । ⮫
  㣮 짮⥫.
   砥  SYSTEMTABAUTH   ਢ   ᠭ 
  祬  ப ⮩ ⠡ ᫨  뫠 ।  祬 -
 짮⥫.

    ⮡ ᭨,   ⮫  ⠡ 
  ਢ REFERENCES,    ᫥騩  
( 뢮 뢠  㭪 24.7 )

                SELECT owner, tname, cname
                   FROM SYSTEMCOLAUTH
                   WHERE refauth IN ('Y', 'G')
                      AND username = USER
                   ORDER BY 1, 2;

 뢠,    ⠡,   ࠧ -
楢,   ,  ⢨⥫쭮, ᮢ襭 ࠧ ⠡ 
( ..     ᨭ   ⠡ ).



        328             SQL      
______________________________________________________________________
              . 24

         ===============  SQL Execution Log ================
        |                                                   |
        | SELECT OWNER, TNAME, CNAME                        |
        | FROM  SYSTEMCOLAUTH                               |
        | WHERE refaulth IN ('Y' , 'G' )                    |
        | AND username = USER                               |
        | ORDER BY 1, 2                                     |
        | ;                                                 |
        | ================================================= |
        |   owner       tname       cname                   |
        | -----------  -----------  -------                 |
        |  Diane       Customers     cnum                   |
        |  Diane       Salespeople   sname                  |
        |  Diane       Salespeople   sname                  |
        |  Gillan      Customers     cnum                   |
         ===================================================

㭮 24. 7: ⮫  짮⥫  ਢ INSERT


SYSTEMSYNONS -   
   

 -  ⮫殢  ⠡ SYSTEMSYNONS   ᠭ:

          
  -------------    --------------------------------------------
  synonym       ᨭ

  synowner     짮⥫,   楬
                  ᨭ (   PUBLIC ())

  tname         ⠡ ᯮ㥬 楬

  tabowner      짮⥫   楬
                  ⠡

    ।,   Adrian  ᨭ 
Clients  ⠡ 稪 ਭ饩 Diane,    
騩 ᨭ Customers  ⮩  ⠡.    
⠡   ᨭ  ⠡ 稪 ( 뢮  뢠-
  㭪 24.8 ):

        SELECT *
          FROM SYSTEMSYNONS
          WHERE tname = 'Customers'


     SQL         329
______________________________________________________________________

         ===============  SQL Execution Log ================
        |                                                   |
        | SELECT *                                          |
        | FROM  SYSTEMSYNONS                                |
        | WHERE tname = 'Customers'                         |
        | ;                                                 |
        | ================================================= |
        | synonym       synowner    tname       tabowner    |
        | -----------  -----------  ----------  ----------  |
        |  Clients      Adrian      Customers   Diane       |
        |  Customers    PUBLIC      Customers   Diane       |
        |                                                   |
         ===================================================

㭮 24.8:   ⠡ 稪


======      =======

筮,   믮  ᫮   ⥬ ⠫. 
쥤, ਬ,   祭 㤮.     
㢨 ⮫ ⠡    ⠭  ,
( 뢮  뢠  㭪 24.9 ):

             SELECT a.tname, a.cname, iname, cposition
                FROM SYSTEMCOLUMNS a, SYSTEMINDEXES b
                WHERE a.tabowner = b. tabowner
                   AND a.tname = b.tname
                   AND a.cnumber = b.cnumber
                ORDER BY 3 DESC, 2;

  뢠  ,   ⠡ 稪    ⠡-
 த殢.
᫥   -  ⮫殢    salesno   
snum;   饭  - ஢  뢠 (  ⭮
䠢⭮ 浪 )  ⮫ iname. 㣮 , custsale, ᯮ-
 த栬 ⮡ ᪨ ᢮ 稪.  ᭮뢠  -
樨  snum  cnum  ⠡ 稪,   snum 
室騬   ,        cposition.



       330             SQL      
______________________________________________________________________
             . 24


         ===============  SQL Execution Log ================
        |                                                   |
        | SELECT a.tname, a.cname, iname, cposition         |
        | FROM  SYSTEMCOLUMNS a, SYSTEMINDEXES b            |
        | WHERE a.tabowner = b.tabowner                     |
        | AND a.tname = b.tname                             |
        | AND a.cnumber = b.cnumber                         |
        | ORDER BY 3 DESC, 2;                               |
        |                                                   |
        | ================================================= |
        |    tname       cname     iname     cposition      |
        |   -----------  -------  --------  ------------    |
        |   Salespeople   sname   salesno              1    |
        |   Customers     cnum    custsale             2    |
        |   Customers     snum    custsale             1    |
        |                                                   |
         ===================================================

㭮 24.9  ⮫   

 ⠪   ᯮ짮.  ᯮᮡ 㢨 -
 ⮫ ⮫쪮  ⮫殢  ⠡ ⠫:

         SELECT *
            FROM SYSTEMCOLUMNS
            WHERE tname IN
               ( SELECT tname
                    FROM SYSTEMCATALOG);

 ,   㤥 뢠 뢮 ⮩ ,  ⮨ 
  室   ⮫  ⠡ ⠫.    
    ।⠢,  , ਬ, SYSTEMTAB-
COLS,  ।⠢ SYSTEMTABLES.


================   =================

⠪, ⥬ SQL ᯮ  ⠡, 뢠 ⥬ ⠫-
    .  ⠡  訢  -
஢. ஬ ⮣,    ਨ ⮫殢 



      SQL          331
______________________________________________________________________


(  㤠  ) ⠡ SYSTEMCATALOG  SYSTEMCOLUMNS. 
 ।⠢   ⠡ - ॢ室 ᯮᮡ 筮 -
।,  짮⥫᪠ ଠ   㯭.
 ,   㧭  ⠫,  訫  祭 SQL 
  ०.   ⮩  ᪠   
SQL ᯮ  ணࠬ  ᠭ ० ᥣ 
㣨 몠   ᯮᮡ    ⥩ SQL, 
   ⠡栬  .



       322            SQL          
______________________________________________________________________
            . 24


**************   SQL **************

1.   ⠫ ⮡ 뢥,   ⠡ 饩 
    祬  ⮫,  ⠡,  ,  ⠪
    ⮫殢  ⨯   ⮫殢.

2.   ⠫ ⮡ ᭨, ᪮쪮 ᨭ -
      ⠡   .   ,      
   ᨭ ਭ騩  ࠧ 짮⥫ -  䠪᪨ 
    ࠧ ᨭ.

3. ᭨ ᪮쪮 ⠡     祬 줥 業-
   ⮢  ⮫殢.

( . ਫ A  ⢥⮢. )





                                                                         25




                                         SQL

                                 


                            (   SQL )



        334               SQL    
______________________________________________________________________
               . 25

      SQL  
 ७ ணࠬ ᠭ  㣨 몠.  -
୮ 몠 SQL   祭 ,    ६  -
뢠   讥 ᫮ ࠭祭.
⮡ ८  ࠭祭,    SQL  ணࠬ-
 ᠭ  ⮬  㣮 楤୮ 몥( 饬 ।-
 ).   ਬ஢,  ࠫ ᪠,   
        稭,   ⮬, 
 ᪠ -   몮   ANSI  樠 
⠭.


  -  SQL

⮡  SQL  㣮 ,   ᯮ짮  ண-
ࠬ   ᯥ稢 প  SQL     
筮 , প ᠬ 몠. ⢥,    -
  몮   ᯮ.  ࠧ,  㤥 -
짮  SQL  ࠡ  ⠡  , । 
१⮢ 뢮  ணࠬ  祭   ணࠬ  -
  뢠, 饭 뫠   ணࠬ 
(      ਭ     뫠
⭮   짮⥫  ணࠬ ).


  SQL?

   ⨫ ஥ ६   ⮡   㬥 -
 SQL ,  ᫨  -  ணࠬ,  ⭮ ⬥⨫,  
ᠬ  ᥡ,   祭   ᠭ ணࠬ.
 祢 ࠭祭 -  ,    ६  SQL  -
 믮  , ࠪ⨢ SQL  ᭮ 믮 
      ६.
 ᪨ 権 ⨯ if ... then ( "᫨ ... " ), for ... do 
( " ... 믮")   while ... repeat( " ... " ) - ᯮ-
㥬   設⢠  ணࠬ,  -
, ⠪    ᬮ ਭ 襭 - 믮 ,  믮-
,    믮  ⢨  १ 㣮 -
. ஬ ⮣, ࠪ⨢ SQL      祭-
ﬨ, ஬    ⠡, ࠧ饭  ।   -
 ᮢ,  筮 뢮   - ன⢮.



  SQL    (  SQL)     335
______________________________________________________________________


 ࠤ樮 모, , ᨫ    .
 ࠧࠡ⠭ ⠪ ⮡ ணࠬ  稭 ࠡ ,
 ᭮뢠   १, ,    ⢨  -
,    ⢨      ஥ ᫮-
, ᮧ ᪨   横. 祭 ࠭  -
६,   ᯮ짮      
᫠ .     㪠뢠 짮⥫   
 뢮    䠩,   ଠ஢ 뢮 -
묨 ᯮᮡ ( ਬ, ८ࠧ뢠 ᫮   -
ࠬ ).
  SQL ⮨  ⮬, ⮡ ꥤ  ,
騥  ᮧ ᫮ 楤 ணࠬ 
   ।⢮ SQL -   ࠭ ᫮-
 ⢨  ⠡  楤୮ 몥   ਥ-
  ⠪  ,  ⮦ ६ ন 
ண 楤୮ 몠.


   SQL.

 SQL   室 ⥪  ணࠬ, ன
। ࠧ - EXEC SQL ( EXECute SQL ).  ⠭-
     ᯥ樠묨   
 SQL,    ।⠢  ⮩ .
  ண , ⠭ ANSI  ন  SQL  ⠪-
.  ন ⨥, 뢠 - ,   筮, 
 뢠 ஬ 楤 SQL,     㣮 -
. 樠쭮 । ᨭ⠪  SQL, 㤥  
७ 樠쭮 ᨭ⠪  몠    -
뢠 SQL,  쬠   ୠ ,  ANSI 
. , ANSI ᯥ稢  ਫ (  騥 
 ⠭ ),  । ᨭ⠪  SQL  -
 몮: , , ,  /1. 
 C - ⠪ ப ন   㣨 모.
  ⠢  SQL  ⥪ ணࠬ ᠭ  -
 몥,   믮 ।  ०, 祬  -
⥫쭮  ᪮.
  ணࠬ 뢠 ४஬ (  ९஬ ), 㤥
ᬠਢ ⥪ 襩 ணࠬ  ८ࠧ뢠  SQL, 
  㤮  ᯮ짮  몮.


     336               SQL       
______________________________________________________________________
             . 25

⥬  ᯮ  ࠭ ⮡ ८ࠧ뢠 ணࠬ-
  室 ⥪  믮塞 .
  ᭮ 室  쭮  । ANSI, ᭮ ண-
ࠬ 뢠 楤 SQL. 楤 롨 ࠬ  -
 ணࠬ,   㦥 ࠡ⠭ 祭, ⭮  ᭮-
 ணࠬ.   ᮤঠ  ᫮ 楤,  
 ⮨  筮  SQL.   ⮬, ⮡ 楤
 ࠡ ⥬  ᠬ ᯮᮡ ⣮  楤  몥  -
  뫨 (     ஢  
 - ࠧ稩  ⨯  ࠧ 몮 ).
樨  㤮⢮ ⠭, 믮  SQL ⠪ 
ᯮᮡ,  ᫨  㫨 㦥 뫨 筮 ।.  ⮩ 楫 
४ 㤥 ᮧ , 뢠 㫥 㯠. 쪮 
 , ᮤঠ騩  ᫮ 楤 SQL,  ⢮ 
  ணࠬ. 饭 ஢ SQL ।⢥  -
 , ந室     ࠪ筮 祬 ।⢥
ᮧ ᠬ 㫥.
    ணࠬ ᯮ  SQL, 易  ID 㯠, 
 ६  믮. ID 㯠, 易  ணࠬ,   
 ਢ ⮡ 믮 樨 SQL, 믮塞  ணࠬ. 
 ,  ணࠬ SQL ॣ   , ⠪ 
  짮⥫, 믮騩 ணࠬ.  ஡,  ।-
 ஥஢騪,  ⭮ 뫮       ண-
ࠬ  CONNECT   .


            
   =======     SQL  =======

᭮ ᯮᮡ  SQL    몠  ணࠬ -
  뢠   㣮 -    祭 ६.
⢥,  ࠧ 모 ᯮ ࠧ ⨯   -
६. ANSI ।  SQL    몮 -
/1, ᪠, ,  ;   ஡ ᠭ  
ਫ B.
  㣨 몮 - । ஥஢騪.



   SQL    (  SQL)       337
______________________________________________________________________


    ,  ⨯, ⠪  DATE,  ᯮ ANSI; 
᫥⥫쭮   ⨯    몮,
   ⠭ ANSI.  ᫮ ⨯  
몠, ⠪  ,   ⮢  SQL.
  ᯮ짮 ६   ணࠬ  -
  SQL ,   㤥 ᯮ짮 ࠦ -
. ( SQL, ᯮ㥬  ⮩ , 㤥    -
 SQL,       㤥 ७ ᮡ. )
  騬 祭 ६,   祭, ᯮ㥬 
.  ६  -

*   묨  SQL DECLARE SESSION (  
    )  㤥 ᠭ .
*   ᮢ⨬ ⨯    㭪ﬨ   SQL
   ( ਬ, ᫮ ⨯ ᫨  ⠢  ᫮  )

*   祭묨 祭  ६  ᯮ짮   
   SQL, ᫨  SQL ᠬ⥫쭮   ᤥ 祭.

*  ।⢮  (:)   㯮   SQL

   ६ ⫨   ⮫殢 SQL 稥 
  ,   ᯮ짮 ६  ⥬  ᠬ묨 
    ⮫, ᫨  筮 㦭.
।     ६  襩 ணࠬ,  
:  id_num, salesperson, loc,  comm.  ᮤঠ 祭 
   ⠢  ⠡ த殢.     
᫥  SQL   ணࠬ:

      EXEC SQL INSERT INTO Salespeople
         VALUES ( :id_num, :salesperson, :loc, :comm)

騥 祭  ६  饭  ⠡.   
 , ६ comm    ᠬ    ⮫  
  祭 뢠.
 ,  窠  ⮩    . 
⮬,  ᮮ⢥饥 襭    SQL -
  몠  ண  .



        338            SQL       
______________________________________________________________________
              . 25

 ᪠  PL/1,  㤥 窠  ⮩;  , ᫮ 
END-EXEC ;     㤥  襭.
 㣨 몠    ॠ樨,  ⮬  ਬ 
 㤥 ᯮ짮   ⮩ ( ⮩ ) ᥣ, ⮡  
⨢ ࠪ⨢ SQL   ᪠. ᪠ 蠥 -
 SQL  ᮡ⢥   - 窮  ⮩.
ᮡ ᤥ   ⠪  ᠭ , ⮨  
⮬, ⮡    横   ,  ࠧ묨 祭-
 ६,  ਬ   ᫥饬 ਬ:

        while not end-ot-file (input) do
           begin
           readln (id_num, salesperson, loc, comm);
           EXEC SOL INSERT INTO Salespeople
              VALUES (:id_num, :salesperson, :loc, :comm);
           end;

  ࠣ ணࠬ  , । 横,  㤥
뢠 祭  䠩, ࠭    ந
६, ࠭ 祭  ६  ⠡ த殢,
 ⥬ 뢠 ᫥騥  祭,   
     室 䠩  ⠥. ⠥,  -
  祭 蠥 ⮬ ⪨ (  
 ᪠, 㭪 readln 뢠  ଠ  -
室  ᫥ ப 筨 ⮩ ଠ樨).    
⮩ᯮᮡ ।   ⥪⮢ 䠩  ५樮 -
.
   筮,   ᭠砫 ࠡ  묨 묨
ᯮᮡ  襬  몥, ਬ  ᪫祭  -
ᨮ  祭 .12

          while not end-ot-file (input) do
             begin
             readln (id_num, salesperson, loc, comm);
             if comm > = .12 then
             EXEC SQL INSERT INTO Salespeople
                VALUES (:id_num, :salesperson, :loc, :comm);
             end;

쪮 ப   ᫮ comm >= .12  ⠢  
뢮.  뢠   ᯮ짮  横  ᫮  
ଠ   몠.



  SQL    (  SQL)      339
______________________________________________________________________

 

 ६    뫪  । SQL, -
 ᭠砫    SQL DECLARE SECTION ( -
  ), ᯮ饬  ᨭ⠪  -
몠.     ᫮ ⠪ ࠧ  ணࠬ,   -
 ࠧ -   । ᯮ㥬 ६, -
 ࠭祭 ।  ᮮ⢥⢨   몮.
   稭   묨 
SQL - BEGIN DECLARE SECTION ( 砫   ) 
 END DECLARE SECTION (    ), -
 ।,  筮 EXEC SQL (믮).
  ⮡  ६ ᯮ㥬  ।饬 ਬ, 
  ᫥饥:

          EXEC SQL BEGIN DECLARE SECTION;
          Var
             id-num:       integer;
             Salesperson:  packed array (1 . .10) ot char;
             loc:            packed array (1. .10) ot char;
             comm:         real;
          EXEC SQL END DECLARE SECTION;

   , Var -    ।
 塞 ६,  㯠 (  ᯠ ) -
ᨢ 騬 ਥ 䨪஢ ६ 祭 ࠧ-
砥   ஢( ਬ, ⨩ ᨬ loc 㤥 loc (3) ).
ᯮ짮 窨  ⮩ ᫥  ६ 㪠뢠   
  - ᪠,   SQL.


  

 ஬ 饭 祭 ६  ⠡ ᯮ  
SQL,   ᯮ짮 SQL ⮡  祭   -
६.   ᯮᮡ   -   ࠧ -
 SELECT  ᮤন । INTO.  ୥ 
 襬 ।饬 ਬ  ६⨬ ப Peel  ⠡
த殢   ६  몠.

             EXEC SQL SELECT snum, sname, city, comm
               INTO :id_num, :salesperson, :loc, :comm
               FROM Salespeople
               WHERE snum = 1001;


       340            SQL          
______________________________________________________________________
             . 25

࠭ 祭   ६  㯮冷祭묨 -
 㪠묨  । INTO. 㬥, ६  -
 㪠묨  । INTO   ᮮ⢥騩 
⨯ ⮡ ਭ  祭,    ᢮ ६  -
 ࠭ ⮫.
᫨  뢠 ⢨ । INTO,    - -
宦   㣮. , । INTO  ⥫-
 ࠭祭  .       -
ப. ᫨    ப,      ⠢ 
६      ६.  ⢥ -
 㤠.  ⮩ 稭, SELECT INTO  ᯮ짮 
⮫쪮  ᫥ ᫮:

*    ᯮ । ஢騩 祭, ஥   
   ,   㭨,   ⮬ ਬ. 祭 , 
     ,   㭨묨 -   祭  -
    ਭ㤨⥫쭮 ࠭祭 㭨쭮  㭨 , 
     ਫ   17  18.

*    ᯮ    ॣ 㭪権   ᯮ-
    GROUP BY.

*    ᯮ SELECT DISTINCT  譥   -
   ⮬ 뫠騬  ⢥ 祭 த⥫᪮   
   (ᯥ稢 襩 ⥬ ।ᠭ ࠢ筮 楫⭮),
     ᫥饬 ਬ:

           EXEC SQL SELECT DISTINCT snum
             INTO :salesnum
             FROM Customers
             WHERE snum =
               (SELECT snum
                   FROM Salespeople
                   WHERE sname = 'Motika');

।  Salespeople.sname  Salespeople.snum -  ᮮ⢥-
⢥, 㭨  ࢨ  ⮩ ⠡,  Customers.snum 
-  譨  뫠騩  Salespeople.snum,   ।-
    ந ⢥ ப.
 㣨 砨,    ,    -
 ⢥ ப 뢮,     ,  -
⢥ 砥,  ᭮뢠  ⮬     楫-



 SQL    (  SQL)     341
______________________________________________________________________


,     ।ᠭ   ࠭祭.  
  !  ᮧ ணࠬ , ⭮, 㤥 -
짮  祭 ண ६,   ᥣ ந  
⮡  ࠭஢  饬   ⪠.  -
 砥,  室 㯯஢   ந 
 ப, ᪮ SELECT INTO - ᯮ ⮫쪮  
㤮⢠.
    㢨,   ᯮ짮  뢮騥 -
 ப, ᯮ .




  ᨫ  SQL -  ᯮᮡ 㭪樮஢   
ப ⠡, ⮡  । ᫮   , 
  ᪮쪮 ⠪ ப ⠬  . ᫨  ப 㤮⢮-
 ।,    뢥   ப. ᫨  
 ப ।,    ப  뢥. 
 ᪮쪮 㤭⥫쭮,   ஡ 易   㣨 
몠.   ᬮ  뢮   ६  
     㤥 뢮 ?  襭 ⮨  ⮬, ⮡ ᯮ-
짮 ,  뢠 - ஬.
 ⭮   ஬,   饩 窮,  -
砥    ࠭ .   ᬠਢ
SQL   ன⢮, ஥ 筮 ⮬, ⬥砥  -
  뢮 ,    .
   -   ६,  易  ᮬ. 祭 -
 ६    ப,  뢮  .
  ६,     ०, 
祬   ᯮ짮.    DECLARE CURSOR,
᫥騬 ࠧ:

                EXEC SQL DECLARE CURSOR Londonsales FOR
                  SELECT *
                  FROM Salespeople
                  WHERE city = 'London';

  믮 ;  - ⮫쪮 ।.  -
  ।⠢,  ஬  ᮤন ,



      342            SQL    
______________________________________________________________________
           . 25

 ᮤঠ  -   뢮 ,  ࠧ
  ⠭ . ,  ⫨稥   ⠡ 
 ।⠢, ப  㯮冷祭:  ࢠ, ...
...  ᫥ ப .  冷   ந
  ࠢ   । ORDER BY  , 
  㬮砭 ᫥ - 㯮冷祭 ।塞 -
㬥⠫쭮-।塞 奬.
  室   襩 ணࠬ  ன   믮-
 ,  뢠    ᫥饩 :

       EXEC SQL OPEN CURSOR Londonsales;

祭     祭,   믮  
 ,   ।  DECLARE   ᫥ 
 FETH. ⥬,  ᯮ  FETCH ⮡  
뢮  ⮣ ,   ப    ६.

       EXEC SQL FETCH Londonsales INTO :id_num,
        :salesperson, :loc, :comm;

    ࠦ ६ 祭  ࢮ ࠭ ப, 
६. 㣠  FETCH 뢮 ᫥騩  -
.  ⮨  ⮬, ⮡   FETCH  横, 
⠪ ⮡ ࠢ ப,   ६⨢  祭  ⮩
ப  ६, 頫 ⭮  横 ⮡ ६ 
᫥騩  祭    ᠬ ६.
ਬ,   㦭 ⮡ 뢮 뤠   ப, 
訢  ࠧ  짮⥫,    த ⮡ -
 ᫥ ப

         Look_at_more:= True;
            EXEC SQL OPEN CURSOR Londonsales;
             while Look_at_more do
               begin
               EXEC SQL FETCH Londonsales
               INTO :id_num, :Salesperson, :loc, :comm;
               writeln (id_num, Salesperson, loc, comm);
               writeln ('Do you want to see more data? (Y/N)');
               readln (response);
               it response = 'N' then Look_at_more: = False
               end;
            EXEC SQL CLOSE CURSOR Londonsales;



 SQL    (  SQL)     343
______________________________________________________________________


 ᪠,   : = 砥 - "  祭 祭  ",  
  ६   =    筮 祭 " ࠢ ". 㭪 
writeln 뢠  뢮,  ⥬ 室   ப.
 窨  ᨬ 祭  ஬ writeln  
। if ... then  -   ᪠,  砥 
㡫  SQL.
    १ ⮣ ࠣ, 㫥 ६   Look_at
_more   ⠭  ﭨ ୮,  ,  
 横.   横, ப 롨ࠥ    뢮 
 ࠭.  짮⥫ 訢,     ᫥ 
ப.    ⢥⨫ N (  ), 横 ,  ᫥ 
ப 祭 㤥 ࠭.
   ६ Look_at_more  ⢥     
㫥 ६  ᨬ쭠(char) ६, ᮮ⢥⢥,  
ࠧ  ६  ᪠,     -
祭  ࠧ  SQL, ⮬    ᯮ  -
 SQL.
     ,  ।  ६   -
  -SQL ஢.   ,  -
  CLOSE CURSOR ᮮ⢥騩  OPEN 
CURSOR. ,   﫨, ᢮  祭, ⮬ 
 㤥 㦭 믮 ୮  ஬ OPEN CURSOR, 
० 祬 ३   롮 ᫥ 祭.
 易⥫쭮   ப  뫨 ࠭ ᮬ -
  ,    筠 楤.
  , SQL  ᫥  ⥬,  ப 뫨 ࠭. 
᫨  뢠  ᭮,  ୮ 믮  ⮩ 
窨,   稭  ᭠砫.
 ਬ  ᯥ稢 ⮬᪨ 室  横,  
 ப 㦥  ࠭.   FETCH   ப -
  ,     祭  ६ ।-
 INTO. ⥫쭮, ᫨  ௠,  ६-
  ⭮ 뢮  묨 祭ﬨ,  
  짮⥫   横,  ⢥ - N.


==============   SQL   ===================

 뫮  ,    ௠, ⠪ ⮡ 
뫮 ᮮ  ⮬ 짮⥫  横 訫  ⮬᪨. 
 -    祬 ਬ    SQL 믮 
 訡. ६ SQLCODE ( 뢠  SQLCOD  
 ) ।祭 ⮡ ᯥ  㭪.  -



      344             SQL     
______________________________________________________________________
             . 25

  ।  ६  몠    
⨯     몥 ᮮ⢥    
᫮ ⨯ SQL,     ਫ B.
祭 SQLCODE ⠭  ࠧ,  믮 
 SQL.  ᭮   :

1.  믮  訡,   ந 
   ⢨.   ࠧ   룫廊  ࠧ:

    )  SELECT,   ப  ࠭ ᮬ.

    )  FETCH, ᫥ ப 㦥 뫠 ࠭,   
        ப  ࠭ ᮬ  .

    )  INSERT,   ப  뫮 ⠢ ( ࠧ㬥-
          ᯮ짮 ⮡ ᣥ஢ -
         ⠢,   ⢥࣭  ⪥ 祭 -
        ப.

    )   UPDATE  DELETE,   ப  ⢥⨫ ᫮-
         ।,  ᫥⥫쭮   ᤥ
         ⠡  㤥.

       砥, 㤥 ⠭   SQLCODE = 100.

2.  믮 ଠ쭮,  㤮⢮ਢ    
     㪠 ᫮.  ⮬ 砥, 㤥 ⠭  
     SQLCOD = 0.

3.   ᣥ஢ 訡. ᫨  稫,  
   ᤥ    ⥪饩 ࠭樥,  ⠭-
   ( .  23 ).          
    ⮬ 砥 㤥 ⠭  SQLCODE = ஬ -
   ⥫쭮 , ।塞 ஥஢騪.  -
    ᫠, ஢ ஡, ⠪ 筮 ᪮쪮  -
   .  ਭ樯,  ⥬   ᭠ -
   ணࠬ,   ⮬ 砥,  믮 ⮡ -
      ଠ ஢뢠饥 祭 ⨢-
    ᫠ । 訬 ஥஢騪.  ⮬ 砥 
   ஥ ᮮ饭  訡 㤥 뢥  ࠭  -
   ᠭ  䠩 ⮪,  ணࠬ   ६ 믮 -
  ⠭   ⥪饩 ࠭樨, ⪫  -
     멤  .    ᮢ襭⢮ 



 SQL    (  SQL)      345
______________________________________________________________________

 SQLCODE   

 ।騩 ਬ  室  横 ⮬᪨,  -
   ,  ப ࠭,  ந諠 訡:

            Look_at_more: = lhe;
            EXEC SQL OPEN CURSOR Londonsales;
              while Look_at_more
              and SQLCODE = O do
                begin
                EXEC SQL FETCH London$ales
                   INTO :id_num, :Salesperson, :loc, :comm;
                writeln (id_num, Salesperson, loc, comm);
                writeln ('Do you want to see more data? (Y/N)');
                readln (response);
                If response = 'N' then Look_at_more: = Fabe;
                end;
            EXEC SQL CLOSE CURSOR Londonsales;

  WHENEVER 

 㤮  室  믮 ᫮ -  ப ࠭. 
 ᫨  稫 訡,   ।ਭ  ⠪,  
ᠭ  쥣 , .  ⮩ 楫, SQL ।⠢ 
। GOTO. ᪨, SQL   ਬ  -
筮 ப, ⠪  ணࠬ  믮  GOTO 
⮬᪨, ᫨ 㤥 ந । 祭 SQLCO-
DE.   ᤥ  ᮢ⭮  । WHENEVER.  
 ᣮ  ਬ  ⮣ :

  EXEC SQL WHENEVER SQLERROR GOTO Error_handler;
  EXEC SQL WHENEVER NOT FOUND CONTINUE;

SQLERROR-  㣮 ᯮᮡ ᮮ  SQLCODE < 0;  NOT 
FOUND -  㣮 ᯮᮡ ᮮ  SQLCODE = 100. ( -
 ॠ樨 뢠 ᫥ 砩   - SQLWARNING.)
Error_handler -   ⮣   ணࠬ  ஥ 㤥 -
ᥭ 믮 ணࠬ ᫨ ந諠 訡 ( GOTO  
     ᫮ ).   ।  -
ᮡ ᮮ⢥騬   몠, ਬ,   -
  ᪠,   ࠧ   ࠣ   (  
쭥襬  㤥 ᯮ짮 ନ - ⪠ ).  ⪠  㤠-
  ⠭ 楤 ࠭塞 ஥-
஢騪  祭   ணࠬ.


     346            SQL   
______________________________________________________________________
          . 25

CONTINUE   祣- ᯥ樠쭮  祭 SQLCODE.  
⠪  祭  㬮砭. ᫨   ᯮ  
WHENEVER, । 祭 SQLCODE. ,  ⨢ 
।    ४ ।  , 믮-
    믮 ⢨,  ࠧ 窠(⪠) 襩 ணࠬ.
ਬ, ᫨  ணࠬ 砥  ᥡ ᪮쪮  INSERT,
ᯮ ,  ॠ쭮  ந 祭,  
   ᯥ樠쭮 ᮮ饭  ᤥ - ⠪,  
﫮 ,    묨   祭  -
 ⠢.  ⮬ 砥,    ᫥饥:

 EXEC SQL WHENEVER NOT FOUND GOTO No_rows;

No_rows -  ⪠  ஬ , ᮤঠ饬 । -
.  㣮 ஭, ᫨  㦭 ᤥ 롮  ணࠬ -
,    ᫥饥  ⮩ 窥,

 EXEC SQL WHENEVER NOT FOUND CONTINUE;

  믮 롮ન 﫮      ப  -
 祭,   ଠ쭮 楤ன  ॡ饩 ᯥ-
쭮 ࠡ⪨.

=========      ========

  ⠪  ᯮ짮, ⮡ 롨 㯯 ப
 ⠡,    ⥬ ஢  㤠 -
  㣮.    , 室  ࠭祭
।⮢ ᯮ㥬   UPDATE  DELETE.   
뫠  ⠡ ⢮  ।    -
   ᮢ,     믮  । 
ᠬ  .  ભ   16, ⠭ SQL ⪫
 㤠  짮⥫  ३⨭  ।,  ᫥-




 SQL    (  SQL)    347
________________________________________________________________

饩 ଥ:

                 EXEC SQL DELETE FROM Customers
                   WHERE rating <
                      ( SELECT AVG (rating)
                        FROM Customers);

,      䥪, ᯮ   롮-
 ᮮ⢥ ப,    ,  믮 DELETE 
 ᯮ짮 . 砫    :

               EXEC SQL DECLARE Belowavg CURSOR FOR
                 SELECT *
                   FROM Customers
                   WHERE rating <
                      (SELECT AVG (rating)
                        FROM Customers);

⥬   ᮧ 横, ⮡ 㤠  稪 ࠭
஬:

            EXEC SQL WHENEVER SQLERROR GOTO Error_handler;
             EXEC SQL OPEN CURSOR Belowavg;
             while not SOLCODE = 100 do
               begin
               EXEC SOL FETCH Belowavg INTO :a, :b, :c, :d, :e;
               EXEC SOL DELETE FROM Customers
                 WHERE CURRENT OF Belowavg;
               end;
             EXEC SOL CLOSE CURSOR Belowavg;

। WHERE CURRENT OF 砥  DELETE ਬ-
  ப   饥 ६ ࠭ ஬.  ࠧ-
,      DELETE, 뫠      ⠡-
,  ᫥⥫쭮,     -   쥤.
    ⠪  㥬.   㥬-
,   㤮⢮ ⥬  ᫮   ।⠢
( .  21 ). ஬ ⮣, ORDER BY  UNION,   ࠧ-
  ।⠢,   - ࠧ,  ।࠭  
㥬.    㯮⮬ ਬ,  
  롨 ப     ६,  ᫨ 



      348             SQL    
______________________________________________________________________
             . 25

  ᮡࠫ ᯮ짮  ६. ⮣ ॡ ᨭ⠪-
  FETCH. UPDATE ࠡ⠥ ⠪ . 
  㢥 祭 ᨮ ᥬ த栬,  
 稪  業=300, ᫥騬 ᯮᮡ. 砫  -
 :

        EXEC SOL DECLARE CURSOR High_Cust AS
           SELECT *
              FROM Salespeople
              WHERE snum IN
                 (SELECT snum
                    FROM Customers
                    WHERE rating = 300);

⥬  믮 䨪樨  横:

            EXEC SQL OPEN CURSOR High_cust;
            while SQLCODE = 0 do
               begin
               EXEC SOL FETCH High_cust
                  INTO :id_num, :salesperson, :loc, :comm;
               EXEC SQL UPDATE Salespeople
                  SET comm = comm + .01
                  WHERE CURRENT OF High_cust;
               end;
            EXEC SQL CLOSE CURSOR High_cust;

 :   ॠ樨 ॡ, ⮡  㪠-
  । ,   㤥 ᯮ짮  믮-
  UPDATE  । ⮫.    -
 ⥫쭮 ࠧ ।  - FOR UPDATE <column 
list>. ⮡   High_cust ⠪ ᯮᮡ, ⠪ ⮡  -
 ஢  UPDATE ⮫ comm,    
᫥饥 ।:

             EXEC SQL DECLARE CURSOR High_Cust AS
                SELECT *
                   FROM Salespeople
                   WHERE snum IN
                      (SELECT snum
                          FROM Customers
                          WHERE rating = 300)
                 FOR UPDATE OF comm;


 SQL    (  SQL)       349
______________________________________________________________________


 ᯥ  । ⮩  砩 䨪権,
  ࠧ  冷   .



=========    INDICATOR  ==========

 (NULLS) 祭 -  ᯥ樠 થ ।塞 ᠬ-
 SQL.       ६. ⪠ ⠢-
 NULL 祭  ६ 㤥 ४⭠, ⠪  -
 모  ন NULL 祭  SQL,  ।. -
 १  ⪥ ⠢ NULL 祭   ६ 
। ஥஢騪,  १   ⨢ ⥮ਨ 
 ,  ⮬ 易 ந 訡:  SQLCODE 
⥫쭮 ᫠,  맢 ணࠬ ࠢ 訡. c-
⢥  㦭 ⮣ . ⮬,    NULL -
祭  ⨬묨 祭ﬨ,  ਢ騬  ࠧ襭 襩 
ணࠬ.  ᫨ ணࠬ   ࠧ, 祭   
६ ⠭ ࠢ묨, ⮬      NULL
祭. ୠ⨢ ⮤ ।⠢塞  ⮩ 樥 
 - 㭪 ६ indicator(㪠⥫).
६ indicator -   ࠧ  SQL 
㣨 ६.    ⨯  몠  ᮮ⢥-
 ᫮ ⨯  SQL. 直 ࠧ,   믮 , 
   NULL 祭  ६  몠, 
  ᯮ짮 ६ indicator,  .
 頥 ६ indicator   SQL ।⢥ ᫥ 
६  몠    ,  - -
  ,    ,  , ⠢ ᫮ -
INDICATOR.
६ indicator  , 砫쭮 ᢠ 祭 0.
, ᫨ ந 祭 NULL , ६ indicator ⠭-
 ࠢ ⥫쭮 .   ஢ 祭 ६-
 indicator, ⮡ 㧭, 뫮   祭 NULL.  
।,   city  comm, ⠡ த殢,   ࠭-
祭 NOT NULL,     ࠧ  SQL,  



    350          SQL         
______________________________________________________________________
         . 25

᪨ ६ 楫 ⨯, i_a  i_b. 
(  祣 ⠪  ࠧ,    ।⠢  
 ६ indicator.  ⠭ ६묨 indicator,  -
 ᯮ짮  ६ indicator. )
   :

      EXEC SQL OPEN CURSOR High_cust;
      while SQLCODE = O do
         begin
         EXEC SQL FETCH High_cust
            INTO :id_num, :salesperson,
               :loc:i_a, :commINDlCATOR:i_b;
         If i_a > = O and i_b > = O then
                       {no NULLs produced}
              EXEC SQL UPDATE Salespeople
                 SET comm = comm + .01
                 WHERE CURRENT OF Hlgh_cust;
         else
                    {one or both NULL}
         begin
            If i_a < O then
                 writeln ('salesperson ', id_num, ' has no city');
            If i_b < O then
                 writeln ('salesperson ', id_num, ' has no
                 commission');
         end;
                   {else}
         end; {while}
      EXEC SQL CLOSE CURSOR High_cust;

  ,  稫, 祢 ᫮ INDICATOR   砥, 
 ᪫稫   㣮 砥, ⮡ ,  䥪 㤥 -
   砥.  ப 㤥 ࠭,   UPDATE 
믮 ⮫쪮 ᫨ NULL 祭   㦥.
᫨  㦥 NULL 祭, 믮    ண-
,  ᯥ⠥ ।०饥 ᮮ饭,  뫮 
 NULL 祭.
  : ६ indicator  ஢  
몥,  㪠뢠 ,    । WHERE  SQL.
  ᫥  ਭ樯  饭,  १  뢠 ।-
.


 SQL    (  SQL )    351
______________________________________________________________________


   INDICATOR
   NULL  SQL 

  㣠  ⮨  ⮬, ⮡ ࠡ뢠 ६
indicator, 뢠    ६  몠, ᯥ樠-
 ᯮᮡ, 㫨騬  NULL 祭 SQL.
  直 ࠧ,   ᯮ    祭  襩 -
ࠬ, ਬ  । if ... then,   ᭠砫 ஢-
 易 ६ indicator,    祭=NULL. 
᫨  ⠪,   ࠡ뢠 ६ -㣮. ਬ, 
᫨ NULL 祭 뫮 祭   city   ६-
 city,  易  ६ indicator - i_city,   
⠭ 祭 city ࠢ ᫥⥫쭮 ஡.  -
 室, ⮫쪮 ᫨  㤥 ᯥ뢠   ਭ;
 祭   ⫨   襩 ணࠬ.
⢥, i_city ⮬᪨ ⠭  ⥫쭮 -
祭. ।,    ᫥   襩 
ணࠬ:

        If sity = 'London' then
             comm: = comm + .01
        else comm: = comm - .01

 祭,   ६ city,  㤥 ࠢ "London" 
  㤥 ࠢ. ⥫쭮,   砥 祭 -
 㤥  㢥稭  㬥襭. ,  
  SQL 믮  ࠧ:

         EXEC SQL UPDATE Salespeople
            SET comm = comm + .01
            WHERE sity = 'London';

 

         EXEC SQL UPDATE Salespeople
            SET comm = comm  .01;
            WHERE sity < > 'London';

( ਠ   ࠡ⠥ ⮫쪮  ⢥ 祭,   
६  ਠ  SQL  ࠡ⠥  ᥬ ⠡栬. )
᫨ 祭 city  ਠ  SQL 㤥 ࠢ 祭 NULL ,  
।  ,  祭 comm, ᫥⥫쭮,  㤥



      352          SQL       
______________________________________________________________________
            . 25

   砥.
    ᯮ짮 ६ indicator ⮡ ᤥ -
 襣  몠 ⨢騬 ⮬,   ᮧ-
 ᫮, ஥ ᪫砥 NULL 祭:

        If i_city > = O then
             begin
             If city = 'London' then
                  comm: = comm + .01
             else comm: = comm - .01;
             end;
       {begin and end 㦭  ⮫쪮  }
 ______________________________________________________________

 : ᫥ ப ⮣ ਬ ᮦন ६ -
 { begin  end 室 ⮫쪮   }
 _____________________________________________________________

  ᫮ ணࠬ,    ⠭ 㫥 -
  "୮" , ⮡ 㪠  祭 city =NULL. ⥬ 
  ஢  ६ 直 ࠧ,   
室.

 
 INDICATOR

६ indicator ⠪  ᯮ짮  祭 -
 NULL.       ६   
UPDATE  INSERT ⥬  ᯮᮡ     SELECT. 
᫨ ६ indicator  ⥫쭮 祭, 祭 NULL 
㤥 饭  .  ਬ, ᫥  頥 -
 NULL   city  comm, ⠡ த殢, 直 ࠧ,  
६ indicator -  i_a  i_b  ⥫묨;  ⨢ 
砥  頥 㤠 祭  ६:

      EXEC SQL INSERT INTO Salespeople
         VALUES (:Id_num, :salesperson, :loc:i_a, :comm:i_b);

६ indicator ᯮ ⠪, ⮡ 뢠 뢠 
ப.  ந ᫨  ⠢ 祭 ᨬ SQL  -
 ६   筮  ⮡   ᨬ. 
 ᮡ ஡  ⠭ ⨯  - VARCHAR  LONG 
( ᬮ ਫ C ).  ⮬ 砥, ६ 㤥 


 SQL    (   SQL)    353
______________________________________________________________________

묨 ᨬ ப,  ᫥ ᨬ  . 
᫨ ᯮ ६ indicator,  㤥 ⠭  -
⥫쭮 祭, 㪠뢠饥   뢠  ப, -
 ⠪ ࠧ  㧭, ᪮쪮 ᨬ 뫮 ﭮ.

 ⮬ 砥,   ஢   ᬮ -祭 -
 indicator > 0,  < 0.


================   =================

 SQL 뢠  楤 몠, ⮡ ꥤ -
  室.  ⥫ ।⢠ SQL 室, 
⮡ 믮  ࠡ.   SQL ࠭᫨㥬 -
ࠬ, 뢠 ४஬,   ਣ  ᯮ-
 ࠭஬  몠,  ᯮ㥬  ⮬  -
몥,  맮 楤  ணࠬ  ᮧ ४-
, 뢠 - ﬨ 㯠.
ANSI ন  SQL  모: , , 
,  PL/I. 
㣨 모 ⠪ ᯮ, ᮡ .   ⪥ ⪮ -
  SQL,      ⮩ :

*     SQL 稭 ᫮ EXEC SQL  -
    ᯮᮡ    ᯮ㥬  몠.

*    ६ 㯭   SQL,   -
     ࠧ  SQL ०, 祬   ᯮ짮.

*  ᥬ  ६  ।⢮ 稥   
   ᯮ   SQL.

*    ࠭ ᢮ 뢮 ।⢥   ६-
   , ᯮ । INTO, ᫨  ⮫쪮 ᫨,  롨 
   ⢥ ப.

*    ᯮ짮  ࠭ 뢮 ,  㯠 
     ப    ६.  뢠 묨 
   ( ᫨ ।   ஬  ᮤঠ), 묨( ᫨ 
   믮  ),  묨 ( ᫨ 㤠 뢮   -
    ). ᫨  ,  FETCH, ᯮ ⮡ ६-
      ।    ப 뢮 .



      354         SQL               
______________________________________________________________________
           . 25

*    㥬묨  ⮫쪮-⥭. ⮡ 
   㥬,   㤮⢮ ᥬ  -
    㤮⢮ ᬮ; ஬ ⮣,    ᯮ짮 
   । 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 㤥 ⠭  ⥫쭮 祭.
    䠪  ᯮ짮 ⮡ । 訡,  



 SQL    (   SQL )   355
______________________________________________________________________

   砭 NULL 祭 SQL  ᯥ樠쭮 ࠡ⪨   -
    ணࠬ.

*  ६ indicator  ᯮ짮  ⠢ NULL -
      SQL - INSERT  UPDATE.  ⠪  
   ਭ ⥫쭮 祭 㪠뢠饥   -
     ப  ⨢襩  । ࠭ -
    ६, 㤠  ப 頫.



    356             SQL        
______________________________________________________________________
           . 25

************     SQL  ***************


 : ⢥   ࠦ ᠭ  ᥢ-
,  ᪨ 몮 ᠭ , ன  
᫥ ணࠬ.  ᤥ  ⮣ ⮡  ⥫ 
     ᪠(  㣨 몮). 
஬ ⮣   䮪    祬 -
, ᪠ ⭮ ⮣  㣮 몠. ⮡ ⨢ 
訬 ਬࠬ, ⨫ ᥢ 㤥  ᪠.
  ⨬  ணࠬ    ⭮   ᬠ-
 ᠬ, ਬ, । ன -뢮, -
祭   ,  ⠪ . 筮,   ᯮᮡ 
⮡ 믮 ⠪ ࠦ;  ᮢᥬ  易⥫쭮  ।-
⠢ ਠ 襭  ᠬ묨 㤠묨.

1. ࠡ⠩  ணࠬ  롥  樨 -
    snum  cnum   ⠡ 浪  稪  ᭨, ᥣ-
     ।  ⠪   ᫥. ᫨ -
     ⠡ 浪    ⠡ 稪, -
     snum  ⮩ ப 㤥   㤮⢮饥
   ᫮ ᮢ.   ,    ᮬ - 
   㥬 ( ANSI ࠭祭, ⠪ ਬ  ᬮࠬ, 
     ᭠ 楫⭮     ⮦ ᠬ  -
   ઠ  訡( .. ࢨ  㭨,   cnums  
   ⠡ 浪 ࠢ,  ⠪  ).
   ஢ ࠧ ,  㡥  ⠬   -
   㥬 .

2. ।,   ணࠬ ।뢠 ANSI 饭 
     ᬮ ᯮ騥 㥬 -
   .     㯮 ணࠬ?

3. ࠡ⠩ ணࠬ  ᪠뢠 짮⥫ - 
    祭  city த, ⮬᪨ 㢥稢 -



 SQL    (   SQL)    357
______________________________________________________________________


     .01  த ॢ  ᥫ  㬥-
      .01  த ॢ   . ஬ ⮣,
   த 室騩     .02  ᢮ -
   ᨮ, ᨬ  ⮣   த  ,   ६ 
    த  室騩     㢥祭 
   ᨮ  .02.
     ᨮ ᭮뢠饥  宦 த-
     ,  ਬ ᨬ  ⮣ 㤠  -
   .
   ᭨     city   comm ᮤঠ NULL -
   祭,  ࠡ⠩ ,     SQL.
   ।०! :  ணࠬ   ᮪饭. 

   ( . ਫ A  -   ⢥⮢. )




                                    ਫ  A




                                 



      360              SQL    
___________________________________________________________________
       . A

 1

1. cnum

2. rating

3. 㣨 ᫮  ப  - . 㣨 ᫮  ⮫ 
    - .

4. ⮬  ப,  ।, 室   
   । 㯮冷祭.

 2

1.  (  ⥪ )  

2. 

3.  㫨஢ 묨 ( DML)

4.  ᫮  SQL  ᯥ樠쭮 祡 祭.

 3

1. SELECT onum, amt, odate
     FROM Orders;

2. SELECT *
      FROM Customers
      WHERE snum = 1001;

3 SELECT city, sname, snum, comm
     FROM Salespeople;

4. SELECT rating, cname
      FROM Customers
      WHERE city = 'SanJose';

5. SELECT DISTINCT snum
      FROM Orders;




                                              361
___________________________________________________________________

 4

1. SELECT * FROM Orders WHERE amt > 1000;

2. SELECT sname, city
      FROM Salespeople
      WHERE city = 'London'
        AND comm > .10;

3. 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');

   㣨 襭.


4. 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

5. onum    amt      odate   cnum  snum

   3001    18.69    10/03/1990  2008  1007

   3003    767.19   10/03/1990  2001  1001


      362              SQL    
___________________________________________________________________
       A

  onum    amt    odate     cnum snum

  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

6. SELECT *
      FROM Salespeople;

 5

1. 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;

2. SELECT *
      FROM Customers
      WHERE snum IN (1001,1004);

3. SELECT *
      FROM Customers
      WHERE cname BETWEEN 'A' AND 'H';

:  ASCII  ⥬ Hoffman  㤥 뢥-
 -  ஡ ᫥ H.  ⮩  ᠬ 稭 -
 ࠭    G, ᪮   뢥  
Giovanni  Grass.
 G  ᯮ짮  ᮯ஢  Z, ⠪ ⮡ ᫥ 
 㣨 ᨬ  䠢⭮ 浪,   ।⢮ 
,    ஡.

4. SELECT *
      FROM Customers
      WHERE cname LIKE 'C%';




                                            363
___________________________________________________________________

5. SELECT *
      FROM Orders
      WHERE amt < > O
         AND (amt IS NOT NULL);
  
   SELECT *
      FROM Orders
      WHERE NOT (amt = O
         OR amt IS NULL);

 6

1. SELECT COUNT(*)
      FROM Orders
      WHERE odate = 10/03/1990;

2. SELECT COUNT (DISTINCT city)
      FROM Customers;

3. SELECT cnum, MIN (amt)
      FROM Orders
      GROUP BY cnum;

4 SELECT MIN (cname)
     FROM Customers
     WHERE cname LIKE 'G%';

5. SELECT city,
      MAX (rating)
      FROM Customers
      GROUP BY city;

6 SELECT odate, count (DISTINCT snum
     FROM Orders
     GROUP BY odate;


 7

1. SELECT onum, snum, amt * .12
      FROM Orders;



     364           SQL      
___________________________________________________________________
    . A
 
2. SELECT 'For the city ', city, ', the highest rating is ',  ",
   MAX (rating)
      FROM Customers
      GROUP BY city;

3 SELECT rating, cname, cnum
     FROM Customers
     ORDER BY rating DESC;

4. SELECT odate, SUM (amt)
      FROM Orders
      GROUP BY odate
      ORDER BY 2 DESC;

 8

1. SELECT onum, cname
      FROM Orders, Customers
      WHERE Customers.cnum = Orders.cnum;

2. SELECT onum, cname, sname
      FROM Orders, Customers, Salespeople
      WHERE Customers.cnum = Orders.cnum
        AND Salespeople.snum = Orders.snum;

3. SELECT cname, sname, comm
      FROM Salespeople, Customers
      WHERE Salespeople.snum = Customers.snum
        AND comm * .12;

4. SELECT onum, comm * amt
      FROM Salespeople, Orders, Customers
      WHERE rating > 100
        AND Orders.cnum = Customers.cnum
        AND Orders.snum = Salespeople.snum;

 9

1. SELECT first.sname, second.sname
      FROM Salespeople first, Salespeople second
      WHERE first.city = second.city
        AND first.sname < second.sname;

ᥢ  室   ⠪ .



                                          365
___________________________________________________________________

2. 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;

 뢮    ⫨,   襬 ⢥  ᪨ 
   ⠪ .

3. SELECT a.cname, a.city
      FROM Customers a, Customers b
      WHERE a.rating = b.rating
        AND b.cnum = 2001;


 10

1. 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');

2. SELECT DISTINCT cname, rating
      FROM Customers, Orders
      WHERE amt >
        (SELECT AVG (amt)
            FROM Orders)
        AND Orders.cnum = Customers.cnum;

3 SELECT snum, SUM (amt)
     FROM Orders
     GROUP BY snum
     HAVING SUM (amt) >
        (SELECT MAX (amt)
            FROM Orders);



      366          SQL     
___________________________________________________________________
     . A

 11

1. SELECT cnum, cname
      FROM Customers outer
      WHERE rating =
        (SELECT MAX (rating)
         FROM Customers inner
         WHERE inner.city = outer.city);

2. 襭   ᮮ⭥ᥭ7 :

   SELECT snum, sname
      FROM Salespeople main
      WHERE city IN
        (SELECT city
            FROM Customers inner
            WHERE inner.snum < > main.snum);

   襭   ꥤ:

   SELECT DISTINCT first.snum, sname
      FROM Salespeople first, Customers second
      WHERE first.city = second.city
         AND first.snum < > second.snum;

⭥ᥭ  室  稪  㦨
 த殬  :   -     த.
襭   쥤      -
⨢.  室 砨   city ᮢ,   snums . 
⥫쭮 쥤   
 襭  ⮩ 
஡, 祬  ஥  ᫥  ⮣.    
魮 襭   ,    ⮫ -
.

 12

1. SELECT *
      FROM Salespeople first
      WHERE EXISTS
        (SELECT *
            FROM Customers second
            WHERE first.snum = second.snum
              AND rating = 300);



                                           367
___________________________________________________________________

2. SELECT a.snum, sname, a.city, comm
      FROM Salespeople a, Customers b
      WHERE a.snum = b.snum
        AND b.rating = 300;

3. SELECT *
      FROM Salespeople a
      WHERE EXISTS
        (SELECT *
            FROM Customers b
            WHERE b.city = a.city
              AND a.snum < > b.snum);

4. SELECT *
      FROM Customers a
      WHERE EXISTS
       (SELECT *
           FROM Orders b
           WHERE a.snum = b.snum
             AND a.cnum < > b.cnum)

 13

1. SELECT *
      FROM Customers
      WHERE rating > = ANY
        (SELECT rating
            FROM Customers
            WHERE snum = 1002);

2.   cnum   cname    city   rating   snum

     2002   Giovanni  Rome      200     1003

     2003   Liu       San Jose  200     1002

     2004   Grass     Berlin    300     1002

     2008   Cisneros  SanJose   300     1007

3.  SELECT *
       FROM Salespeople
       WHERE city < > ALL
         (SELECT city
             FROM Customers);



      368               SQL   
___________________________________________________________________
        A

 

  SELECT *
     FROM Salespeople
     WHERE NOT city = ANY
       (SELECT city
           FROM Customers);

4.  SELECT *
       FROM Orders
       WHERE amt > ALL
         (SELECT amt
             FROM Orders a, Customers b
             WHERE a.cnum = b.cnum
               AND b.city = 'London');

5.  SELECT *
       FROM Orders
       WHERE amt >
         (SELECT MAX (amt)
             FROM Orders a, Customers b
             WHERE a.cnum = b.cnum
               AND b.city = 'London');

 14
1.  SELECT cname, city, rating, 'High Rating'
       FROM Customers
       WHERE rating > = 200

       UNION

    SELECT cname, city, rating, ' Low Ratlng'
       FROM Customers
       WHERE rating < 200;

   

    SELECT cname, city, rating, 'High Rating'
       FROM Customers
       WHERE rating > = 200

       UNION

       SELECT cname, city, rating, ' Low Rating'
          FROM Customers
          WHERE NOT rating > = 200;


                                           369
___________________________________________________________________

稥  ⨬  ।ﬨ,  ଥ ண ।.
  ,   , ப "Low Rating"   砫 
⥫ ஡  ⮣ ⮡ ᮢ  ப "High Rating"  
 .

2. SELECT cnum, cname
      FROM Customers a
      WHERE 1 <
       (SELECT COUNT (-)
           FROM Orders b
           WHERE a.cnum = b.cnum)

           UNION

   SELECT snum, sname
      FROM Salespeople a
      WHERE 1 <
        (SELECT COUNT (*)
            FROM Orders b
            WHERE a.snum = b.snum)

      ORDER BY 2;

3. SELECT snum
      FROM Salespeople
      WHERE city = 'San Jose'

      UNION

  (SELECT cnum
      FROM Customers
      WHERE city = 'San Jose'

      UNION ALL

  SELECT onum
     FROM Orders
     WHERE odate = 10/03/1990);


 15

1. INSERT INTO Salespeople (city, cname, comm, cnum)
      VALUES ('San Jose', 'Blanco', NULL, 1100);

2. DELETE FROM Orders WHERE cnum = 2006;




    370            SQL     
___________________________________________________________________
     A

3. UPDATE Customers
     SET rating = rating + 100
     WHERE city = 'Rome';

4. UPDATE Customers
      SET snum = 1004
      WHERE snum = 1002;


 16

1. INSERT INTO Multicust
      SELECT *
         FROM Salespeople
         WHERE 1 <
           (SELECT COUNT (*)
               FROM Customers
               WHERE Customers.snum = Salespeople.snum);

2. DELETE FROM Customers
      WHERE NOT EXISTS
        (SELECT *
            FROM Orders
            WHERE cnum = Customers.cnum);

3. UPDATE Salespeople
      SET comm = comm + (comm * .2) 
      WHERE 3000 <
        (SELECT SUM (amt)
            FROM Orders
            WHERE snum = Salespeople.snum);

  ᫮ ਠ ⮩   뫮  ⠢ ஢
⮡ 㡥,  祭 ᨮ  ॢ 1.0 ( 100 % ):

  UPDATE Salespeople
     SET comm = comm + (comm * .2)
     WHERE 3000 <
       (SELECT SUM (amt)
           FROM Orders
           WHERE snum = Salespeople.snum)
           AND comm + (comm * .2) < 1.0; 

 ஡   㣨, ⠪  訥 襭.




                                           371
___________________________________________________________________
                                                      

1. CREATE TABLE Customers
      (cnum   integer,
       cname  char(10),
       city    char(10),
       rating  integer,
       snum   integer);

2. CREATE INDEX Datesearch ON Orders(odate);

(    ᯮ㥬   ⢥ - ந. )

3. CREATE UNIQUE INDEX Onumkey ON Orders(onum);

4. CREATE INDEX Mydate ON Orders(snum, odate);

5. CREATE UNIQUE INDEX Combination ON
     Customers(snum, rating);

 18

1. CREATE TABLE Orders
     (onum   integer NOT NULL PRIMARY KEY,
      amt    decimal,
      odate  date NOT NULL,
      cnum  integer NOT NULL,
      snum  integer NOT NULL,
      UNIOUE (snum, cnum));

   

   CREATE TABLE Orders
     (onum   integer NOT NULL UNIQUE,
      amt    decimal,
      odate  date NOT NULL,
      cnum  integer NOT NULL,
      snum  integer NOT NULL,
      UNIQUE (snum, cnum));

    ࢮ 襭 ।⥫쭥.

2. CREATE TABLE Salespeople
      (snum   integer NOT NULL PRIMARY KEY,
       sname  char(15) CHECK (sname BETWEEN 'AA' AND 'MZ'),
       city    char(15),
       comm  decimal NOT NULL DEFAULT = .10);



      372              SQL      
___________________________________________________________________
     . A

3.  CREATE TABLE Orders
      (onum   integer NOT NULL,
       amt    decimal,
       odate  date,
       cnum  integer NOT NULL,
       snum  integer NOT NULL,
       CHECK ((cnum > snum) AND (onum > cnum)));

 19

1. CREATE TABLE Cityorders
     (onum   integer NOT NULL PRIMARY KEY,
      amt    decimal,
      cnum  integer,
      snum  integer,
      city   char (15),
      FOREIGN KEY (onum, amt, snum)
            REFERENCES Orders (onum, amt, snum),
      FOREIGN KEY (cnum, city)
            REFERENCES Customers (cnum, city) );

2. CREATE TABLE Orders
      (onum   integer NOT NULL,
       amt    decimal,
       odate  date,
       cnum  integer NOT NULL,
       snum  integer,
       prev   integer,
    UNIQUE (cnum, onum),
    FOREIGN KEY (cnum, prev) REFERENCES Orders (cnum,onum) );9

 20

1. CREATE VIEW Highratings
      AS SELECT *
         FROM Customers
         WHERE rating =
           (SELECT MAX (rating)
            FROM Customers);



                                         373
___________________________________________________________________


2. CREATE VIEW Citynumber
      AS SELECT city, COUNT (DISTINCT snum)
         FROM Salespeople
         GROUP BY city;

3. CREATE VIEW Nameorders
      AS SELECT sname, AVG (amt), SUM (amt)
         FROM Salespeople, Orders
         WHERE Salespeople.snum = Orders.snum
         GROUP BY sname;

4 CREATE VIEW Multcustomers
     AS SELECT *
        FROM Salespeople a
        WHERE 1 <
          (SELECT COUNT (*)
              FROM Customers b
              WHERE a.snum = b.snum);

 21

1. #1 -  㥬, ⮬   ᯮ DISTINCT.
   #2 -  㥬, ⮬   ᯮ 쥤,
          ॣ 㭪,  GROUP BY.
   #3 -  㥬, ⮬   ᭮뢠  #1, 
          ᠬ  ᥡ  㥬.
 
2. CREATE VIEW Commissions
      AS SELECT snum, comm
         FROM Salespeople
         WHERE comm BETWEEN .10 AND .20
         WITH CHECK OPTION;

3 CREATE TABLE Orders
     (onum integer NOT NULL PRIMARY KEY,
      amt decimal,
      odate date DEFAULT VALUE = CURDATE,
      snum integer,
      cnum integer);
  CREATE VIEW Entryorders
     AS SELECT onum, amt, snum, cnum
     FROM Orders;



    374             SQL     
___________________________________________________________________
     . A


 22

1. GRANT UPDATE (rating) ON Customers TO Janet;

2. GRANT SELECT ON Orders TO Stephen WITH GRANT OPTION;

3. REVOKE INSERT ON Salespeople FROM Claire;

4.  1: CREATE VIEW Jerrysview
             AS SELECT *
                FROM Customers
                WHERE rating BETWEEN 100 AND 500
                WITH CHECK OPTION;

    2: GRANT INSERT, UPDATE ON Jerrysview TO Jerry;

5.  1: CREATE VIEW Janetsview
             AS SELECT *
                FROM Customers
                WHERE rating =
                   (SELECT MIN (rating)
                       FROM Customers);

    2: GRANT SELECT ON Janetsview TO Janet;


 23

1. CREATE DBSPACE Myspace
      (pctindex 15,
       pctfree 40);

2. CREATE SYNONYM Orders FOR Diane.Orders;
   
3.    ⪠⠭ ⭮ .

4. ஢ ᪫饣 㯠.

5.  ⥭



                                          375
___________________________________________________________________
                                                  


1. SELECT a.tname, a.owner, b.cname, b.datatype
      FROM SYSTEMCATOLOG a, SYSTEMCOLUMNS b
      WHERE a.tname = b.tname
        AND a.owner = b.owner
        AND a.numcolumns > 4;

 : - ⮣  設⢮  ⮫ -
塞 ⠡ - ࠧ,    ᯮ㥬 ᥢ
 a  b  㯮⮩  - ண 易⥫.  ।-
⠢   .

2. SELECT tname, synowner, COUNT (ALL synonym)
      FROM SYTEMSYNONS
      GROUP BY tname, synowner;

3 SELECT COUNT (*)
     FROM SYSTEMCATALOG a
     WHERE numcolumns/2 <
       (SELECT COUNT (DISTINCT cnumber)
           FROM SYSTEMINDEXES b
           WHERE a.owner = b.tabowner
             AND a.tname = b.tname);

 25

1.  EXEC SQL BEGIN DECLARE SECTION;
       SQLCODE:integer;
    {ॡ㥬 ᥣ}
       cnum     integer;
       snum     integer;
       custnum: integer;
       salesnum: integer;
    EXEC SQL END DECLARE SECTION;
    EXEC SQL DECLARE Wrong_Orders AS CURSOR FOR
       SELECT cnum, snum
          FROM Orders a
          WHERE snum < >
            (SELECT snum
                FROM Customers b
                WHERE a.cnum = b.cnum);



    376             SQL     
___________________________________________________________________
      A

{    ᯮ㥬  SQL  믮 ᭮ ࠡ.
  ࠧ頥 ப ⠡ 浪   ᮣ 
 ⠡楩 稪. }
  EXEC SQL DECLARE Cust_assigns AS CURSOR FOR
     SELECT cnum, snum
        FROM Customers;
{  ᯮ  祭 ࠢ 祭 snum}
  begin { ᭮ ணࠬ }
EXEC SQL OPEN CURSOR Wrong_Orders;
while SQLCODE = O do
{     Wrong_Orders  ⥥}
  begin
  EXEC SQL FETCH Wrong_Orders INTO
   (:cnum, :snum);
  if SQLCODE = O then
        begin
{ Wrong_Orders ⥥,   ⥫  த 믮
 ⮣ 横  ᪮筮}
  EXEC SQL OPEN CURSOR Cust_Assigns;
     repeat
         EXEC SQL FETCH Cust_Assigns
            INTO (:custnum, :salesnum);
     until :custnum = :cnum;
{ FETCH     ...  㤥 ᬠਢ
 Cust_Assigns   ப  ᮮ⢥ ⥪饬
 祭 cnum   Wrong_Orders}

     EXEC SQL CLOSE CURSOR Cust_assigns;

{⮬  㤥 稭  뢮  ᫥騩 ࠧ १ 横.
 祭  ஬  稬  ⮣  ࠭ 
 ६ - salesnum.}
     EXEC SQL UPDATE Orders
        SET snum = :salesnum
        WHERE CURRENT OF Wrong_Orders;
     end; {᫨ SQLCODE = 0}.
  end; {  SQLCODE . . . 믮 }
EXEC SQL CLOSE CURSOR Wrong_Orders;
end; { ᭮ ணࠬ }



                                        377
___________________________________________________________________

2.   ணࠬ   ᯮ짮, 襭 㤥   ⮬, 
   ⮡    onum, ࢨ 箬 ⠡ 浪,
     Wrong_Orders.   UPDATE,  㤥 ⥬ ᯮ짮 
   । WHERE onum =:ordernum (  楫 ६ - odernum, 
   ),  WHERE CURRENT Of Wrong_Orders.
   ⮬ 㤥 ணࠬ  ⮩
   ( 設⢮ ਥ  ।饩 ணࠬ  ᪫祭 ):

EXEC SQL BEGIN DECLARE SECTION;
   SQLCODE:   integer;
   odernum      integer;
   cnum         integer;
   snum         integer;
   custnum:     integer;
   salesnum:    integer;
EXEC SQL END DECLARE SECTION;
EXEC SQL DECLARE Wrong_Orders AS CURSOR FOR
   SELECT onum, cnum, snum
      FROM Orders a
      WHERE snum < >
        (SELECT snum
            FROM Customers b
WHERE a.cnum = b.cnum);
EXEC SQL DECLARE Cust _ assigns AS CURSOR FOR
   SELECT cnum, snum
      FROM Customers;
begin { ᭮ ணࠬ }
EXEC SQL OPEN CURSOR Wrong_Orders;
while SQLCODE = O do {     Wrong_Orders
 ⥥}
   begin
   EXEC SQL FETCH Wrong_Orders
      INTO (:odernum, :cnum, :snum);
   if SQLCODE = O then
       begin
       EXEC SQL OPEN CURSOR Cust_Assigns;
       repeat
          EXEC SQL FETCH Cust_Assigns
             INTO (:custnum, :salesnum);
       until :custnum = :cnum;



       378              SQL     
___________________________________________________________________
       . A

       EXEC SQL CLOSE CURSOR Cust_assigns;
       EXEC SQL UPDATE Orders
          SET snum = :salesnum
          WHERE CURRENT OF Wrong_Orders;
       end; {If SQLCODE = 0}
    end; { While SQLCODE . . . do }
EXEC SQL CLOSE CURSOR Wrong_Orders;
end; { main program }

3. EXEC SQL BEGIN DECLARE SECTION;
      SQLCODE  integer;
      newcity      packed array[1. .12] of char;
      commnull    boolean;
      citynull     boolean;
      response    char;

   EXEC SQL END DECLARE SECTION;
   EXEC SQL DECLARE CURSOR Salesperson AS
      SELECT * FROM SALESPEOPLE;
   begln { main program }
   EXEC SQL OPEN CURSOR Salesperson;
   EXEC SQL FETCH Salesperson
      INTO (:snum, :sname, :city:i_cit, :comm:i_com);

{롮ઠ ࢮ ப}
while SQLCODE = O do
{  ப  ⠡ த殢.}
      begin
      if i_com < O then commnull: = true;
      if i_cit < O then citynull: = true;
{ ⠭ ᪨ 䫠    NULLS.}

      if citynull then
            begin
            write  (' ⥪饣 祭 city  த ',
            snum,   '  ।⠢   ? (Y/N)');

{᪠  祭 city 饥  NULL 祭.}

             read (⢥);

{⢥   ᤥ .}

             end {᫨ 筮 - citynull}



                                         379
___________________________________________________________________

      else {  citynull }
          begin
          if not commnull then

{ ⮡ 믮 ࠢ  樨 ⮫쪮  -NULL 祭
  裡 }
              begin
              if city = 'London' then comm: = comm * .02 * .02
                    else comm: = comm + .02;
              end;
{ ᫨ 祭   - commnull, begin  end   ᭮.}

         write ('騩 city  த',
                 snum, '', city,
                   ? (Y/N)');

3.   : த  祭   ६
     । த,  㤥   ᨮ
     । 室    .

    read (⢥);

    {⢥ ⥯  祭 ᨬ  ⮣ 
     citynull - ७  ७.}

          end; {  citynull}
    if response = 'Y' then
          begin
          write ('  祭 city:');
          read (newcity);
          if not commnull then

    {    믮 ⮫쪮  -NULL
     祭. }

              case newcity of:
                 begin
                'Barcelona':comm:= comm + .01,
                'San Jose': comm: = comm *.01
                 end; {筮  ᫨  commnull}
          EXEC SQL UPDATE Salespeople
             SET city = :newcity, comm = :comm:i_com
             WHERE CURRENT OF Salesperson;

    {६    NULL 祭   
     comm ᫨ ⠪ 祭.}



    380              SQL    
___________________________________________________________________
      A

             end; { ᫨ ⢥ = 'Y',  ᫨ ⢥ < > 'Y',
                      㤥. }
             EXEC SQL FETCH Salesperson
                INTO (:snum, :sname, :city:i_clt,
                 :comm:l_com);

{롮ઠ ᫥饩 ப}
   end; {᫨ SQLCODE = 0}
   EXEC SQL CLOSE CURSOR Salesperson;
   end; {᭮ ணࠬ}




                                    ਫ  B



                                           SQL




     382             SQL      
______________________________________________________________________
       B


     
ANSI,   ᨬ  ࠧ ⨯ ᥫ,  -
 ஢   ᫠  ਡ⥫ 
᫠.
 ᫮ ⨯ -  ,  筮 窮  
筮 窨.
ਡ⥫ ᫮ ⨯ -    ⥫쭮
( ᯮ樠쭮  ᭮ - 10 ) .
     ⨯, ⫨ ᫨誮  ⮡  -
஢.
   ⨯  ᯮ 㬥,   뢠
ࠧ஬ 㬥, 祩  ଠ  祭   
ᨬ  ⭮ ⨯. 
祭  㬮砭 ᯥ祭   ⨯, ᫨ ࠧ
㬥 .

========    ANSI  =========

 ।⠢ ⨯  ANSI (   㣫 ᪮ -
 ᨭ ):

TEXT



CHAR                   ப ⥪  ॠ樮-।
( CHARACTER)     ଠ.  㬥   -
                             ⥫쭮 楫 ᫮ ஥ 
                      뫠  ᨬ쭮  ப. 祭 
                      ⮣ ⨯,   祭   
                      窨, ਬ 'text'.  冷 騥 -
                       窨 ('')  ப 㤥  
                        筠 窠 (').
______________________________________________________________

  :  
    , ࠧ 樮-।  樮--
  ᨬ, 㪠뢠,   㬥   ଠ   ⭮ ண-
    ன ॠ .
______________________________________________________________


                                                SQL     383
______________________________________________________________________



EXACT NUMERIC
  


DEC                  筮 ᫮;  , ᫮ ஥ -
( DECIMAL)      .  㬥
                      ࠧ   : 筮  ⠡.
                      ⠡   ॢ 筮.
                      砫 㪠뢠 筮, ࠧ⥫쭠
                         㬥 ⠡.
                       筮 㪠뢠 ᪮쪮  
                       ᫮. ᨬ쭮 筮 ᫮ 
                      ⠢饥  - ॠ樮-।-
                       祭, ࠢ  襥 祬  .
                       ⠡ 㪠뢠 ᨬ쭮 ᫮ 
                      ࠢ  筮 窨. ⠡ = 
                        ⮬ 楫 ᫠.


NUMERIC          DECIMAL  ᪫祭 ⮣, 
                       ᨬ쭮 筮   ॢ-
                       㬥 筮.


INT                    ᫮  筮 窨. ⭮
(  INTEGER )  DECIMAL,    ࠢ  筮
                      窨, -  ⠡ ࠢ 0. 
                      㬥 ࠧ  ᯮ (
                      ⮬᪨ ⠭  ॠ樮-
                      -ᨬ 祭).


SMALLINT         INTEGER,  ᪫祭 ⮣,
                      ,  ᨬ  ॠ樨, ࠧ
                       㬮砭  (    ) 
                      襥 祬 INTEGER.





    384              SQL    
______________________________________________________________________
     B


   APPROXIMATE NUMERIC
     



FLOAT           ᫮  饩 ⮩  ᭮ 10
                     ⥫쭮 㭪樨. 㬥 ࠧ
                     ⮨   ᫠ ।饣
                      筮.

REAL                FLOAT,  ᪫祭 ⮣, 
                      㬥 ࠧ  ᯮ.
                     筮 ⠭ ॠ樮-ᨬ
                      㬮砭.


DOUBLE
PRECISION          REAL,  ᪫祭 ⮣, 
(  DOUBLE )   ॠ樮-।塞 筮  DOUBLE
                       PRECISION  ॢ ॠ樮
                       -।塞 筮 REAL.




                   
=====      ======

   ᯮ  SQL  㣨 모, 祭 ᯮ-
㥬  ந  SQL, 筮 ࠭  -
  몠( .  25 ).  ६   
⨯  ᮢ⨬  祭ﬨ SQL,    -
.  ,     樠쭮 SQL 
⠭, ANSI ᯥ稢 প  ᯮ짮  
SQL   몠:  ᪠, PL/I, ,  .
 稬,  砥 । ⮢ SQL,  -
 ⨯ ६ ᯮ㥬   몠.




                                               SQL      385
______________________________________________________________________


 ⨯   몮 । ANSI:

/I

   SQL              /I


   CHAR              CHAR

   DECIMAL          FIXED DECIMAL

   INTEGER          FIXED BINARY

   FLOAT             FLOAT BINARY




   SQL                   


   CHAR (<integer>)    PIC X (<integer>)

   INTEGER             PIC S (<nines>) USAGE
                           COMPUTTATIONAL

   NUMERIC            PIC S ( < nines with embedded V > )
                           DISPLAY SING LEADING SEPERATE




   SQL             


   INTEGER           INTEGER

   REAL               REAL

   CHAR (<length>)   PACKED ARRAY
                         [1..<length>] OF CHAR




     386              SQL        
______________________________________________________________________
      . B




   SQL               


   CHAR                      CHAR

   INTEGER                  INTEGER

   REAL                      REAL

   DOUBLE PRECISION    DOUBLE PRECISION






                                       ਫ  C




                                             

                                    

                                          SQL




   388               SQL         
______________________________________________________________________
       . C

    SQL
   ।   ⠭ ANSI  ⠭ 
ISO (㭠த ࣠  ⠭⨧樨),   
騬  ᫥ ॠ権, ⠪   뫨 
祭  ࠪ᪮ ᯮ짮.
 ⥫  ᥫ  ᮡ⥩. 筮, 
ᮡ   ணࠬ  ணࠬ,   㦤
।祭 ⮫쪮 ⮡   騥 室  .

==============     =================

  ন ⠭⮬ SQL, ᮡ࠭  ਫ-
 B.   ⢮  CHARACTER  ࠧࠧ ᫮ -
.   , 䠪᪨,  ⥫쭮 ᫮ 祬 
  ନ ⨯,   䠪᪨  ᯮ짮.
 㤥  㦤  ⠪ ⠭ ⨯ .

 DATE  TIME

 㯮   2, ⨯  DATE ப ন,
 ᫨    ⠭.  ᯮ짮 ࠭  襩 
⠡ 浪,  ⨯ ᯮ騩 ଠ mm/dd/yyyy.
 ⠭ ଠ IBM  . 㬥   㣨 
ଠ,  ணࠬ ॠ樨  ন  ଠ-
⮢,   롨      室.
  ।  ᮡ   ᯮᮡ
८ࠧ뢠   ଠ  㣮 - ⮬᪨.
   ᪮쪮 ᭮ ଠ⮢   묨  
⠫:

  ⠭               ଠ           ਬ
㭠த
࣠ 
⠭⨧樨 
(ISO)                       yyyy-mm-dd       1990-10-31

᪨
ਠ
⠭ (JIS)              yyyy-mm-dd       1990-10-31

IBM ய᪨
⠭ (EUR)             dd.mm.yyyy       10.31.1990


       SQL      389
______________________________________________________________________

稥 ᯥ樠쭮 ⨯ ।塞  ,  
믮 䬥᪨   ⠬. ਬ,   
 ᫮       ,  ணࠬ, -
⥫쭮 ᫥饩  ᫮   , ᮪묨 , 
 ⠪ .   ⠪ ࠢ; ਬ ࠧ,  A < 
 B , 砥,   A ।  B  ६.
 ஬ , 讥 ⢮ ணࠬ । ᯥ樠 
⨯  ६,   ⠪  ।⠢  拉 ଠ-
⮢,  ᫥騥:

⠭                        ଠ          ਬ

 
 (ISO)   hh-mm-ss         21.04.37

᪨
ਠ
⠭ (JIS )                  hh-mm-ss         21.04.37

IBM ய᪨
⠭                         hh-mm-ss          21.04.37

IBM USA ⠭              hh.mm AM/PM   9.04 PM
   (USA)

६    ࠢ 筮 ⠪  ,
 ४樥 ᫠ ᥪ㭤     ⮬᪨.
஬ ⮣, ᯥ樠쭮 ஥ ⠭ 㪠뢠騥 ⥪-
   ६ ( CURDATE  CURTIME )  -
.  宦  ⠭ USER (짮⥫)  ன  
祭 㤥 뢭 .
      ६      ?
 ॠ樨 । ⨯ DATE  筮 筮, -
  㤠   TIME.
   ⢥ ୠ⨢, ⨩ 騩 ⨯, TIMESTAMP, 
  ।    .

  

ANSI ন ⮫쪮  ⨯ ⮡ ।⠢ ⥪.  - 
⨯ CHAR.   ⠪ ⨯   । -
. ᫨ ப ⠢塞    祬  ,  -
 ஡; ப     祬  .


    390             SQL          
______________________________________________________________________
    . C


    筮 㤮,  ।    
࠭祭  짮⥫. ਬ, ᨬ   -
   ⮡  뫮 믮  UNION.
設⢮ ॠ権, ন ப ६  
⨯  VARCHAR  LONG VARCHAR(   LONG).
  ६   ⨯ CHAR ᥣ  ।  
ᨬ쭮 ᫠ ᨬ ஥  ࠭  , 
VARCHAR   ⢥ ᨬ,  । ⮫쪮
। ⢮  ⮡ ࠭ 䠪᪮ ᮤঠ-
 ,  SQL  ⠭ ᭠㦨, ஥ ⥫쭮
࠭⢮  ⮡ ᫥  ⥪饩  .
  VARCHAR      ॠ樮--
塞 ᨬ.  ᨬ    254  2048 ᨬ-
  VARCHAR,   16000 ᨬ  LONG. LONG 筮 -
  ⥪ ᭨⥫쭮 ࠪ   ,   
  ᦨ   祭 ; VARCHAR  ᯮ-
짮   ⥪⮢ ப    .
 稬,  ᥣ  ᯮ짮  VARCHAR  CHAR. 
祭  ஢  VARCHAR -  ᫮,  ᫥-
⥫쭮   , 祬 祭  ஢-
  CHAR. ஬ ⮣, ஥ ⢮  VARCHAR, -
⠥ ᥣ ᯮ짮 ( १ࢥ)  ࠭⨨ 饭 ᥩ
 ப.
  뢠, ᪮쪮 祭    
,  ⠪, ᯮᮡ    ꥤ  㣨 ﬨ, । 
⥬  , ᯮ짮 CHAR  VARCHAR.
, ⨯ LONG ᯮ  ࠭  . -
,  ᯮ짮 ࠧ ⠪ "㪫"  㤥 ࠭-
稢 ⨢ SQL.
 ப  訬 㪮⢮.


=============   FORMAT  ===============

  ન   7,  뢮 믮塞  ⠭-
 SQL - ࠭祭.  設⢮ ॠ権  SQL  , 
騥 㣨 ।⢠  ࠢ ⮩ 㭪樥,  ॠ-



      SQL       391
______________________________________________________________________


樨 ⠪ ᯮ  ⨯ FORMAT  SQL ⮡ -
뢠 뢮 , । , ,  ࠭-
. ।  㭪権  FORMAT -  ⠪:

*  । ਭ ⮫殢 (   ).

*  । ।⠢ NULL 祭.

*  ᯥ祭 ()   ⮫殢.

*  ᯥ祭     ࠭ 
   뢮  .

*  뢠 ᢮   ଠ⠬  
   ᮤঠ 祭 , ६   㬬.

*   騥  ஬ 㬬  ᪫ -
    饭 ,    ਬ SUM.
   ( ୠ⨢ 室  ⮩ ஡   
   ணࠬ  । COMPUTE. )

 FORMAT   ࠧ ।  ࠧ ᫥ 
  ஬  ਬ,  ᨬ  ॠ樨.
  FORMAT 筮  ਬ ⮫쪮  
,   ᫮  FORMAT  ਬ  
  ⮬  .   ਬ  FORMAT:

       FORMAT NULL '_ _ _ _ _ _ _';
       FORMAT BTITLE 'Orders Grouped by Salesperson';
       FORMAT EXCLUDE (2, 3);

ࢠ   祭 NULL ।⠢   ' _ _ _ _ _ _ _ ' 
 뢮  ;  ⠢  'Orders Grouped by 
Salesperson'     ࠭;  ᪫砥 -
  ⨩ ⮫  뢮 ।饣 .    -
짮 ᫥   ᫨  롨ࠥ  ⮫, 
⮡ ᯮ짮   । ORDER BY,  襬 뢮.  
 㪠 㭪樨  FORMAT  믮  ࠧ-
,    ਫ     .



      392              SQL      
______________________________________________________________________
       . C

 㣨    ᯮ짮  믮
  㭪権.  SET   FORMAT;   
ਠ⮬    ,  ਬ   -
 ⥪饣 ᥠ 짮⥫     筮 .  
᫥饩 ॠ樨,  FORMAT 稭 祢 ᫮ 
COLUMN ᫥騬 ࠧ:

         COLUMN odate FORMAT dd-mon-yy;

 뢠 ଠ ⨯ - 10-Oct-90    ᯮ饬  
뢮   .
। COMPUTE, 㯮⮥ ࠭, ⠢  , ᫥-
騬 ࠧ:

        SELECT odate, amt
           FROM Orders
           WHERE snum = 1001
           COMPUTE SUM (amt);

 뢮  浪 த Peel,  ⮩  㬬 ਮ⥭ 
  ,   ,  㬬 ਮ⥭.
 㣠 ॠ 뢮 ஬ 㬬 ਮ⥭ ᯮ-
 COMPUTE   ⢥ . 砫,  । ࠧ

            BREAK ON odate;

뢮 㯮⮣   ࠭ - 㯯஢   -
⠬, ⮬  祭 odate   㯯 - . ⥬  
  ᫥饥 ।:

           COMPUTE SUM OF amt ON odate;

⮫  । ON, ।⥫쭮,   ᯮ짮 
  BREAK.


================   ====================

 SQL  ⠭ ANSI,   ਬ ॣ 㭪樨 
 ⮫殢  ᯮ짮  祭  ᪠ ࠦ, 
⠪ ਬ  - comm * 100.   㣨  -
権,  , ⭮ 砫  ࠪ⨪.


     SQL       393
______________________________________________________________________


 ᯨ᮪   㭪権 SQL ⫨  ⠭-
 ॣ⮢.   ᯮ짮  । SELECT
ᮢ, 筮 ⠪   ॣ 㭪樨,   㭪樨 믮-
   祭   㯯.  ᫥饬 ᯨ-
  ஢ ᮣ᭮ ⨯   묨  -
. ᫨  ਬ砭,  ६  ⮬ ᯨ᪥ ⠭-
⨧   ࠦ 祭 ᮮ⢥饣 ⨯,
   ᯮ짮  । SELECT:


 

  㭪樨 ਬ  ᥫ.

            


    ABX(X)             ᮫⭮ 祭  X ( ८ࠧ
                            ⥫쭮  ⥫쭮 祭 
                             ⥫쭮 )
   
    CEIL (X)           X -   祭 ஥ 㤥
                            㣫 ᢥ.

    FLOOR (X)        X -   祭 ஥ 㤥
                             㣫 ᭨.

   GREATEST(X,Y)  頥 襥   祭.

   LEAST(X,Y)       頥 襥   祭.

   MOD(X,Y)         頥 ⮪   X  Y.

   POWER(X,Y)      頥 祭 X  ⥯ Y.

   ROUND(X,Y)        X  筮 Y.
                        ᫨ Y , 横  楫 ᫠.
 
   SING(X)            頥  ᫨ X < 0,   ᫨ X > 0.

   SQRT (X)          頥  ७  X.



     394           SQL     
______________________________________________________________________
     . C


 

 㭪樨   ਬ  ப ⥪,   ⮫殢
⥪⮢ ⨯ ,   ப  ⥪⮢,   -
   .


                    


   LEFT(<string>,X)    頥 ࠩ (訥) ᨬ X 
                                  ப.

   RICHT(<string>,X)   頥 ᨬ X 襣 ࠧ鸞 
                            ப

   ASCII(<string>)       頥  ASCII  ।⠢
                            ப   .

   CHR(<ASCIIcode>)   頥 ਭ ᨬ  ASCII.

   VALUE(<string>)     頥 ⥬᪮ 祭 
                             ப. ⠥  ப  ⨯ CHAR
                              VARCHAR,  ⮨  ᥫ.
                             VALUE('3') ந ᫮ 3 ⨯ INTEGER.

   UPPER(<string>)     ८ࠧ  ᨬ ப  ᨬ
                             孥 ॣ.

   LOWER(<string>)    ८ࠧ  ᨬ ப  ᨬ
                             ॣ.

   INlTCAP(<string>)   ८ࠧ ᨬ ப  
                            㪢.   ॠ  
                              - PROPER.

   LENGTH(<string>)    頥 ᫮ ᨬ  ப.

   <string>||<string>   ꥤ  ப  뢮, ⠪ ⮡
                           ᫥ ࢮ  ᫥ .
                          (祪 || 뢠 ஬ 楯).



     SQL         395
______________________________________________________________________



   LPAD(<string >,X,'*' )    ப ᫥ 窠
                                '*',   㣨 㪠
                                ᨬ,  ⢥, ।塞-
                                       X.

   RPAD(<string>,X, ")        ᠬ   LPAD,  ᪫祭
                                 ⮣,    ࠢ.

   SUBSTR(<string >,X,Y)    Y ᨬ  ப 稭 
                                        樨 X.
                               

   

 㭪樨 믮 ⮫쪮  ⨬ 祭  
६.


                          

    DAY(<date>)                 .
                                  㭪樨 
                                 MONTH(), YEAR(),
                                HOUR(), SECOND()
                                 ⠪ .

    WEEKDAY(<date>)          .



 

 㭪   ਬ   ⨯ .


                          

NVL(<column>,<value>)    NVL (NULL 祭) 㤥 
                                     祭 <value>  NULL -
                                       ⮫ <column>. ᫨ -
                                    祭 祭 <column >  =NULL,
                                    NVL 祣  .


    396             SQL        
_____________________________________________________________________
     . C

========== INTERSECT  MINUS ==========
                        
 UNION,   㦥    14,  ꥤ 
, 쥤  뢮  .  㣨 筮 
ᯮᮡ ꥤ ⤥ ᮢ -   INTERSECT()  
MINUS(). INTERSECT 뢮 ⮫쪮 ப ந 
 ४묨 ᠬ,   ६  MINUS 뢮 -
  ந  ᮬ,   㣨. ⥫-
, ᫥騥  

      SELECT *
         FROM Salespeople
         WHERE city = 'London'

         INTERSECT

      SELECT *
         FROM Salespeople
         WHERE 'London' IN
            (SELECT city
                FROM Customers
                WHERE Customers.snum =
                 Salespeople.snum);

뢥 ப ந  ᠬ, ந騬
 த殢      ࠩ  
稪 ࠧ饭 ⠬ ⠪.  㣮 ஭,  

      SELECT *
         FROM Salespeople
         WHERE city = 'London'

         MINUS

      SELECT *
         FROM Salespeople
         WHERE 'London' IN
            (SELECT sity
                FROM Customers
                WHERE Customers.snum =
                 Salespeople.snum);

㤠 ப ࠭  ᮬ  뢮 ࢮ,  ⠪ 



     SQL      397
______________________________________________________________________

ࠧ  뢮  த      ⠬ 
稪.  MINUS   뢠 DIFFERENCE ()

                     
==========   ===========

  14,  㦤 譥 쥤  뢠  
믮  ᯮ  UNION.  ணࠬ 
   ।⢥ ᯮᮡ 믮 譨
쥤.   ॠ,   " + " ᫥ -
,  뢮 ப  㤮⢮ ᫮ ⠪ 
  ப    㤮⢮.  ᫮ ।  
ᮤঠ  ᮢ饥   ⠡,  NULL 祭 -
 ⠢ ⠬,  ⠪ ᮢ  㤥 .
ਬ, ।     த殢  ᮮ⢥-
  稪,  ᪫  த殢   -
   稪 (  ⠪    ⨯
⠡,   ⢨⥫쭮   ) :

        SELECT a.snum, sname, cname
           FROM Salespeople a, Customers b
           WHEREa.snum = b.snum(+);

  ⮬ ᫥饣 ꥤ (UNION):

        SELECT a.snum, sname, cname
           FROM Salespeople a, Customers b
           WHERE a.snum = b.snum

           UNION

        SELECT snum, sname, '_ _ _ _ _ _ _ _ _ _'
           FROM Salespeople
           WHERE snum NOT IN
              (SELECT snum
                  FROM Customers);

 ⠥  ન  ⮡ࠦ NULL 祭ﬨ( . 
 FORMAT ࠭  ⮬ ਫ  뢠 ⮡ࠦ
NULL 祭ﬨ).



     398               SQL       
______________________________________________________________________
       . C

==========   =============

 SQL ॠ - 筠 , ᫨  㯭 
짮⥫ﬨ, ⮡ ᯥ稢    ᯮᮡ ᫥ 
⢨ﬨ 믮塞묨   .   ᭮ -
 ⮡  :

  Journaling(⮪஢)   Auditing().

  ⫨  祭.
Journaling,   楫   ,  ࠧ襭
襩 ⥬. 砫  ᯮ ॠ樮-ᨬ -
楤 ⮡ 娢஢ ⥪饥 ᮤঠ 襩  ,
⮬   ᮤঠ - 㤥 ࠭. ⥬  -
ᬠਢ ⮪  ᤥ   .  ࠭-
  ன  ,        
 ⥫쭮  ⤥쭮 ன⢥,  ᮤন ᯨ᮪   
 ந      ᮤঠ  -
.  ᫨     ஡  ⥪饥 ᮤঠ -
    襭,   ୮ 믮 
  ॣ஢  ⮪  १ࢭ  -
襩  ,  ᭮ ਢ     ﭨ -
஥ 뫮   ᫥   ⮪. 筮  
⮡  ⮪஢, 㤥 ᫥:

            SET JOURNAL ON;

Auditing ᯮ c 楫 .  ᫥  ⥬,    
⢨ 믮   ,  ࠭  ଠ  ⠡-
 㯭 ⮫쪮 祭  ᮪ ਢ஢ 짮-
⥫. 筮,  । 㤥 ਡ  楤 ॢ, -
  祭 ᪮       㤥 ᫮ ࠡ-
  襩  .    ⠭ ॢ  -
 짮⥫, । ⢨  । -
⮢ .   ⠪ ଠ  AUDIT:

        AUDIT INSERT ON Salespeople BY Diane;

 । ON  । BY   ᪫祭, -
 ॢ,   ꥪ⮢   짮⥫, ᮮ⢥-
. ਬ AUDIT ALL,  AUDIT INSERT,  ਢ  
᫥  ⢨ Diane  ⠡ த殢.





                                        ਫ  D




                                                       

                                                  

                                 




     400                SQL     
______________________________________________________________________
       . D

    
ᠭ ࠧ  SQL.  ⮨  ⮬, ⮡   
   뫪  । SQL.  ࠧ ⮣ 
ਫ । , ᯮ㥬  ᮧ 
SQL; ன, ஡ ᨭ⠪  ।  ⪨ -
 ᠬ .   ⠭ ᫮ 祭-
 (  뢠 BNF ᫮ﬨ):

*  祢 c   孥 ॣ.

*  SQL  㣨 ᯥ樠 ᫮   㣫
   ᪮   ᨢ ( <and> ).

*  易⥫   室   ᪮
   ( [and] ).

*  稥 ( .... ) 㪠뢠    । 
       ᫮ ࠧ.

*  ⨪쭠  ( | ) 砥 -  ,   ।
         ᫥  .

*    ( {and} ) 㪠뢠 -    , 
     業  楫,  業 㣨 ᨬ-
    ( ਬ, ⨪   ᮢ ).

*   稥  ࠢ (:: = )  -   ᫥-
       । ⮣   ।.

஬ ⮣,  㤥 ᯮ짮 ᫥ ᫥⥫쭮
(.,.. ) ⮡ 㪠뢠,  ।饥 ⮬  
 ᫮ ࠧ  㠫묨 ᮡﬨ ⤥塞묨 -
. ਡ     樠쭮 ⠭ -
 ⬥祭  (*⠭*)  ᠭ.

 : ନ   ᯮ㥬 
,  樠쭠 ନ ANSI. 
樠쭠 ନ   ᨫ쭮 , ⮬  
᪮쪮  ⨫.

  ⮩ 稭,   ᯮ㥬 ᫮ ⫨騥  ANSI,
 ᯮ㥬   ᠬ ᫮  ᪮쪮 -㣮. ਬ, 
 । - <predicate > ⫨砥  ᯮ㥬  ANSI -
樨 ⠭⭮ । <predicate>  <search condition>. 


                                           401
______________________________________________________________________


===============  SQL   ===============

 ࠧ ।   SQL.  ࠧ   -
⥣ਨ:  ᭮  몠,  㭪樮  몠.
᭮  -  ᮧ  몠;  SQL ᫥ 
,   ᭠砫 業  ᨬ  ⥪   -
  ⮢.  ⥫<separator> ⤥   -
  㣮;   室  ࠧ⥫ﬨ<separator> 
ࠡ뢠  .
᭮뢠  ⮬ ࠧ, SQL   .
㭪樮  -  ࠧࠧ  ⫨騥  
祢 ᫮,   ஢  㫨.  - -
 , ⤥塞   ࠧ⥫<separator>,  
ᯥ樠쭮 祭  SQL.     ᯥ樠묨 
 ।    ᠭ   ⨬  -
,  ⮬ ਫ. ᫥ ,  騬 -
   뢠 . 㭪樮   -
।  ନ  㣠    ᮡ⢥ ନ. 
ਬ, ।<predicate>,  ᫥   ᫮ 
砩, ᮤন ।<predicate>  ᮡ⢥ ।-
.  ⮬,  ।<predicate > ᯮ騩 AND  OR 
 ᮤঠ  ᫮ ।⮢<predicate>   -
 ⮭.
   ।⠢﫨  ।<predicate>  ⤥쭮 ᥪ樨  ⮬ 
ਫ, - ࠧࠧ  ᫮ ⮣ 㭪樮쭮
 몠.  㤥 ﭭ ⢮  㦤
㣨 㭪樮 ⥩ .

  
                  

<separator >       <comment > | <space > | <newline >

< comment >        --< string> <newline >

< space >          ஡

<newline >         ॠ樮-।塞  ᨬ쭮 ப

<identifier >      <letter>[{<letter or digit> | <underscore}... ]                                          
                      :  ண ⠭ ANSI, ᨬ 
                           ࠭  孥 ॣ,  䨪<identifier> 
                             18- ᨬ.



     402              SQL     
______________________________________________________________________________
    . D

                  
<underscore >                -

<percent sign>               %

<delimiter >           ᫥: , ( ) < > . : = + " - | <>
                          > = < =  <string >

<string >         [ ⠥ ⥪   窠]
                        ਬ砭:  <string>,  ᫥⥫  
                               窨 ( ' ' )     ( ' ).

<SQL term >     砭, 饥   몠.
(*⮫쪮
*)


 

 ⠡  뢠 㭪樮   SQL
  ।:

                   

<query >              । SELECT

<subquery >         祭  㣫 ᪮ । 
                            SELECT  㣮 ᫮, ஥, 䠪-
                            ᪨, 業 ⤥쭮   -
                            - 㣮 ।.

<value expression>      <primary >
                        | <primary> <operator> <primary >
                        | <primary > <operator> <value expression>

<operator >               ᫥:  +  -  /  *

<primary>               <column name >
                        | <literal >
                        | <aggregate function >
                        | <built-in constant >
                        | <nonstandard function >

<literal >              <string > | <mathematical expressio


                                           403
______________________________________________________________________

                       
<built-in constant>     USER | <implementation-dehned constant >

<table name>           <identifier>

<column spec>         [<table name> | <alias>.]<column name>

<grouping column >   < column spec > | < integer>

<ordering column>     <column spec> | <integer>

< colconstraint >       NOT NULL | UNIQUE
                        | CHECK (<predicate>)
                        | PRIMARY KEY
                        |  REFERENCES <table
                        name>[(<column name>)]

<tabconstraint>         UNIQUE (<column list>)
                        | CHECK (<predicate>)
                        | PRIMARY KEY (<column list>)
                        | FOREIGN KEY (<column list>)
                        REFERENCES
                        <table name>[(<column list>)]

<defvalue>             = <value expression >

<data type>         ⨬ ⨯  ( . ਫ B
                        ᠭ ⨯ ᯥ稢 ANSI 
                       ਫ C  㣨  ⨯. )

<size>                祭   <data type>( . ਫ B. )

<cursor name>        <identifier>

<index name>         <identifier>

<synonym>            <identifier>(*nonstandard*)

<owner>              <Authorization ID>

<column list>         <column spec> .,..

<value list>           <value expression> .,..

<table reference>      { <table name> [<alias>] } .,..


    404              SQL        
______________________________________________________________________________                                                                                            
    . D



 饥 । ᯨ᮪ ࠧ ⨯ ।<predicate > 
 ᠭ  ᫥ ࠭:

        <predicate> ::= [NOT]

                     { < comparison predicate >
                     | <in predicate >
                     | <null predicate >
                     | <between predicate>
                     | <like predicate >
                     | <quantified predicate>
                     | <exists predicate > }
                       [ANDI OR <predicate>]
                       
<predicate > -  ࠦ, ஥   ,
                      ,  ,  ᪫祭
                     <exists predicate>  <null predicate>, 
                        ⮫쪮 묨  묨.

㤥 祭 ⭮ ᫨ NULL 祭 । 뢮
祭 ⢥.  㤥  直 ࠧ,  NULL -
 ࠢ   祭.
⠭   - AND, OR,  NOT -  ᯮ짮-
  ।⮬<predicate>. NOT ୮ = ୮, NOT ୮ = 
୮,  NOT ⭮ = ⭮.  AND  OR  -
樨  ।⠬,   ᫥ ⠡:

                          AND

AND             ୮        ୮       ⭮
୮            ୮           ୮           ⭮
୮          ୮         ୮          ୮
⭮       ⭮      ୮           ⭮


                          OR

OR               ୮      ୮       ⭮
୮            ୮          ୮            ୮   
୮          ୮         ୮           ⭮
⭮       ୮         ⭮        ⭮



 
                                       405
______________________________________________________________________

  ⠡  ᯮᮡ   ⠡ 㬭: 
ꥤ , ,   祭  ப  
 ⮫栬 ⮡  ४  १.  ⠡ AND, 
ਬ, ⨩ ⮫ (⭮)  ࢠ ப (୮)  
祭  孥 ࠢ 㣫  १ - ⭮, 㣨-
 ᫮:  ୮ AND ⭮ = ⭮.
冷 ᫥ । 㣫묨 ᪮.   ।-
  ࠧ. NOT 業 ,  AND  OR. 
 ⨯ ।⮢<predicate> ᬠਢ ⤥쭮  
᫥饬 ࠧ.

<comparison predicate>   (। ࠢ)

⠪

        <value expresslon> <relational op> <value expresslon> |
        <subquery>
        <relatlonal op> :: =
           =
           | <
           | >
           | <
           | >=
           | <>

᫨   <value expression> = NULL,  <comparison predicate > 
= ⭮; 㣨 ᫮,  ୮ ᫨ ࠢ ୮  
୮ ᫨ ࠢ ୮.
 <relational op>  ⠭ ⥬᪨ 祭  -
 祭;  㣨 ⨯ 祭,  祭 ।-
 ⭮ ॠ樥.  <value expression>   -
 ⨯ . ᫨ <subquery> ᯮ,  -
 ᮤঠ  ࠦ <value expression>  । 
SELECT,  祭 㤥  ஥ ࠦ <value expres-
sion>   । ࠢ<comparision predicate>,  ࠧ -
 <subquery > ⢨⥫쭮 믮.

<between predicate>   

⠪

 < value expression > [NOT] BETWEEN < value expression >
       AND < value expression >


      406                SQL    
______________________________________________________________________
      . D

< between predicate > - A BETWEEN B AND C ,  ⠪  祭 
  <predicate > - ( A >= B AND <= C). <between predicate>  -
ண A NOT BETWEEN B AND C,  ⠪  祭   NOT 
( BETWEEN B AND C). <value expression>   뢥  -
 ⠭⭮  <subquery> ( *nonstandard* ).


< in prediicate >     

⠪

    <value expression> [NOT] IN <value list> | <subquery>

᮪ 祭<value list> 㤥      -
 祭  㣫 ᪮  ⤥塞 묨,  -
 ࠢ  <value expression> ⨯ . ᫨ ᯮ -
<subquery>,   ᮤঠ ⮫쪮  ࠦ <value
expression>  । SELECT (   ,   㦥 
㤥  ⠭ ANSI ). <subquery > 䠪᪨, 믮-
 ⤥쭮   ப- ᭮ ,  -
   뢥,  ⠢ ᯨ᮪ 祭<value list> 
 ⮩ ப.   砥, ।<in predicate> 㤥 ७ -
 ࠦ<value expression> ।⠢  ᯨ᪥ 祭<value 
list>, ᫨  㪠 NOT. ࠧ A NOT IN (B, C)  -
⮬ ࠧ NOT (A IN (B, C)).

< like predicate >

⠪

        <charvalue> [NOT] LIKE <pattern> [ESCAPE
         <escapechar>]

<charvalue > -    *⠭⭮*  ࠦ <value expression>
䠢⭮-஢ ⨯. <charvalue >  ,  ᮮ⢨  -
⮬, ⮫쪮 । ⮫殬<column spec>. ࠧ<pattern> 
⮨  ப<string>  㤥 ஢७  ᮢ  <char-
value>.  砭<escapechar > -   䠢⭮--
 ᨬ.  ந, ᫨  ᫥騥 ᫮ :

*    ᨬ ન<underscore >  ࠧ<pattern > 
     ।ᨢ ᨬ 砭<escapechar>, 
    ᮮ⢥騩  ᨬ <charvalue>.


                                      407
______________________________________________________________________


*    < percent sign>  ࠧ<pattern>   ।-
    <escapechar>,  㫨   ᮮ⢥騥 ᨬ 
    <charvalue>.

*    <escapechar >  <pattern >   । 㣮-
    <escapechar>,   ᮮ⢥饣 ᨬ  <charvalue>.

*     ᨬ  <pattern>,     ᨬ ⠭-
     ᮮ⢥饩 ⬥⪥  <charvalue>.

᫨ ᮢ ந諮, <like predicate > - ७, ᫨   㪠
NOT.  ࠧ NOT LIKE '⥪' - ⭠  NOT ( A LIKE '⥪').


< null predicate >

⠪

         <column spec> IS [NOT] NULL

<column spec> = IS NULL, ᫨ NULL 祭 ।⠢  ⮬ ⮫-
.  ᤥ <null predicate >  ᫨  㪠 NULL.  
ࠧ <column spec> IS NOT NULL,    १   NOT 
( <column spec > IS NULL ).


< quantified predicate >

⠪

             <value expression> <relational op>
              <quantifier> <subquery>
             <quantifier> :: = ANY | ALL | SOME

। SELECT <subquery >  ᮤঠ  
⮫쪮  ࠦ 祭<value expression>.  祭 뢥-
 ᮬ<subquery > ⠢  १⮢<result set>.
<value expression> ࠢ, ᯮ  裡<relational ope-
rator>,   童  १⮢<result set>.
  ࠢ 業 ᫥騬 ࠧ:

*  ᫨ <quantifier> = ALL,   童  १⮢<result
set>   ࠢ , <quantified predicate > - ७.


       408              SQL      
______________________________________________________________________
        . D

*  ᫨ <quantifier> = ANY,    ࠩ   童
     १⮢<result set> ,    
   ࠢ,  <quantified predicate >  .

*  ᫨  १⮢<result set> ,  <quantified predicate>
   ७, ᫨ <quantifier> = ALL ,  ७ ᫨ .

*  ᫨ <quantifier> = SOME, 䥪 -      ANY.

*  ᫨ <quantified predicate>  ७   ७,  - ⥭.


<exists predicate>

⠪:

            EXISTS (<subquery>)

᫨ <subquery> 뢮    ப 뢮, 
<exists predicate> - ७;  ७ ᫨ .


===============  SQL   ================

 ࠧ ஡ 뢠 ᨭ⠪ ࠧ  SQL.
     ᪨ , 室 
ᨭ⠪  ⪮ ᠭ  ࠡ.

    稭 ᫮ - EXEC SQL,  
⠪   । 稢騥 ᫮  - <SQL term> 
 ᯮ짮 ⮫쪮   SQL.


BEGIN DECLARE SECTION
(  )

⠪

 EXEC SQL BEGIN DECLARE SECTION<SQL term>
 <host-language variable declarations>
  EXEC SQL END DECLARE SECTION<SQL term>


                                     409
______________________________________________________________________


  ᮧ ࠧ ணࠬ  몠  
   ६,   ᯮ짮  뢠-
  SQL. ६ SQLCODE   祭 
   塞 ६  몠.


CLOSE CURSOR
( )

⠪

 EXEC SQL CLOSE CURSOR <cursor name> <SQL term>;

  㪠뢠  , ᫥ 祣  
祭  ᬮ  ࠭        
 㤥 ᭮ .


COMMIT (WORK)
( ())

⠪

               COMMIT WORK;

  ⠢ 묨   ᤥ  
 ,     砢 ࠭  -
,   筥  ࠭.


CREATE INDEX  (*NONSTANDARD*)
( )    ()

⠪

    CREATE [UNIQUE] INDEX <Index name>
       ON <table name> (<column list>);

  ᮧ 䥪⨢    㯮 
᪠ ப ᮤঠ 祭 ⮫. ᫨ UNIQUE - 
㪠, ⠡  ᬮ ᮤঠ 㡫⮢() 祭-
   ⮫.


       410           SQL            
______________________________________________________________________
       . D


CREATE SYNONYM (*NONSTANDARD*)
( )      ( ** )


⠪

CREATE IPUBLICl SYNONYM <synonym> FOR
 <owner>.<table name>;

  ᮧ ୠ⨢(ᨭ)   ⠡.
 ਭ  ᮧ⥫,  ᠬ ⠡, 筮 㣮
짮⥫. ᯮ ᨭ,     뫠 
⠡   (    ) . ᫨ PUBLIC -
㪠, ᨭ ਭ ⠫ SYSTEM  ᫥⥫쭮 -
㯥 ᥬ 짮⥫.


CREATE TABLE
( )

⠪

 CREATE TABLE <table name>
   ({<column name> <data type>[<size>]
   [< colconstralnt > . . .]
   [<defvalue>]} . , . . <tabconstraint> . , . .);

 ᮧ ⠡   .  ⠡ 㤥 ਭ
 ᮧ⥫. ⮫  ᬠਢ   浪.
<data type> - । ⨯   㤥 ᮤঠ ⮫.
⠭ <data type> 뢠  ਫ B;  稥 ᯮ-
 ⨯ <data type>, 㦤  ਫ C. 祭 
ࠧ<size >   ⨯ <data type>.
<colconstraint>  <tabconstraint>  ࠭祭  祭 -
     ⮫.
<defvalue > । 祭( 㬮砭) ஥ 㤥 ⠢ 
⮬᪨, ᫨  㣮 祭  㪠  ⮩ -
. ( .  17  ஡⥩  ᠬ  CREATE TABLE  
  18  19  ஡⥩  ࠭祭   <defvalue> ).


                                       411
______________________________________________________________________

CREATE VIEW
( )

⠪

           CREATE VIEW <table name>
              AS <query>
              [WITH CHECK OPTION];

ᬮ ࠡ뢠   ⠡   SQL.
  뫠   ⠡<table name>, <query >
믮,   뢮 ᮮ⢥ ᮤঠ ⠡ 㪠
 ⮩ .
 ᬮ  ஢,  砥,  -
 䨪樨  믮   ᬮ  ।  
⠡,   뫠 뫪  <query>. ᫨ 㪠 -
 WITH CHECK OPTION,  䨪  ⠪ 
㤮⢮ ᫮ ।<predicate>  <query>.


DECLARE CURSOR
( )

⠪

  EXEC SQL DECLARE <cursor name> CURSOR FOR
   <query><SQL term>

  뢠  <cursor name >,  ᮬ<query>.
   ( . OPEN CURSOR ), <query > 믮-
,   १   ࠭( FETCH)  뢮. -
  㥬, ⠡   뫠 <query>,
   ᮤঠ   樨 䨪-
樨   ( .  25  㥬  ).

DELETE
()

⠪

 DELETE FROM <table name>
   { [WHERE <predicate>]; }
   | WHERE CURRENT OF <cursorname><SQL term>


      412            SQL          
______________________________________________________________________
        . D

᫨ । WHERE ,  ப ⠡ 㤠.
᫨ । WHERE ᯮ ।<predicate>, ப, -
 㤮⢮ ᫮ ⮣ ।<predicate > 㤠.
᫨ । WHERE  㬥 CURRENT OF() 
  <cursor name >, ப  ⠡<table name>  -
     뫪     
<cursor name>  㤥 㤠. ଠ WHERE CURRENT  ᯮ-
짮 ⮫쪮   SQL,  ⮫쪮  㥬묨 -
ࠬ.

EXEC SQL
( SQL)

⠪

 EXEC SQL <embedded SQL command> <SQL term>

EXEC SQL ᯮ ⮡ 㪠뢠 砫   SQL,
  㣮 .

FETCH
()

⠪

          EXEC SQL FETCH <cursorname>
            INTO <host-varlable llst><SQL term>

FETCH ਭ 뢮  ⥪饩 ப <query>, ⠢ 
  ᯨ᮪  ६<host-variable list>,   ६頥 -
  ᫥ ப. ᮪<host-variable list>   
६ indicator  ⢥ 楫 ६ ( .  25. )

GRANT
( )

⠪ (⠭)

      GRANT ALL [PRIVILEGES]
          | {SELECT
          | INSERT
          | DELETE
          | UPDATE [(<column llst>)]



                                      413
______________________________________________________________________

          | REFERENCES [(<column llst>)l } . , . .
            ON <table name> . , . .
            TO PUBLIC | <Authorization ID> . , . .
            [WITH GRANT OPTION];

㬥 ALL(),    PRIVILEGES(), -
砥  ਢ  ᯨ᮪ ਢ. PUBLIC() 砥 
  짮⥫   ᮧ  饬.
     । ࠢ  믮 ⢨
 ⠡  㪠 . REFERENCES   ࠢ ⮡
ᯮ짮 ⮫  ᯨ᪥ ⮫殢<column list>   த⥫᪨ 
  譥 . 㣨 ਢ   ࠢ 믮 
    ਢ 㪠    ⠡.
UPDATE,  REFERENCES,   뢠 ࠭祭  -
। ⮫. GRANT OPTION   । 
ਢ 㣨 짮⥫.

⠪ ( ⠭ )

       GRANT DBA
         |   RESOURCE
         |   CONNECT ... .
         TO <Authorization ID> . , . .
         [IDENTIFIED BY> password>

CONNECT   । ࠢ  ॣ樨  -
 㣨 ࠭祭 ࠢ.
RESOURCE  짮⥫ ࠢ ᮧ ⠡.  DBA  -
 ।   ࠢ.
IDENTIFIED BY ᯮ   CONNECT,  ᮧ  -
 ஫ 짮⥫.

INSERT
()

⠪

     INSERT INTO <table name>  (<column llst>)
       VALUES (<value llst>) I <query>;

INSERT ᮧ     ப  ⠡  
<table name>. ᫨ ᯮ । VALUES ,  祭
⠢  ⠡  < table name>. ᫨ <query >
㪠,  ப 뢮 㤥 ⠢  ⠡  



     414            SQL      
______________________________________________________________________
      . D

<table name>. ᫨ ᯨ᮪ ⮫殢<column list> , 
⮫ ⠡<table name>, ਭ  㯮冷祭 .

OPEN CURSOR
( )

⠪

 EXEC SQL OPEN CURSOR <cursorname><SQL term>

OPEN CURSOR 믮  易  ஬<cursor name>.
뢮  ⥯    ப    
FETCH.

REVOKE                         (*NONSTANDARD*)
( )        ()

⠪

    REVOKE { ALL [PRIVILEGES]
        | <privilege> . , . . } [ON <table name>]
       FROM { PUBLIC
       | <Authorization ID> . , . . };

ਢ<privelege>     㪠   GRANT.
짮⥫ 騩 REVOKE     ਢ,   -
짮⥫   GRANT. । ON   ᯮ짮-
, ᫨ ᯮ ਢ ᯥ樠쭮 ⨯  ᮡ ꥪ.

ROLLBACK (WORK)
 ()   ()

⠪

        ROLLBACK WORK;

 ⬥     , ᤥ  祭 -
饩 ࠭樨.  ஬ ⮣ 稢 ⥪,  稭
 ࠭.

SELECT
()



                                    415
_________________________________________________________________

⠪

SELECT { IDISTINCT | ALL] < value expression > . , . . } / *
   [INTO <host variable list> (*embedded only*)]
   FROM < table reference > . , . .
   [WHERE <predicate>]
   [GROUP BY <grouping column> . , . .]
   [HAVING <predicate>]
   [ORDER BY <ordering column> [ASC | DESC] . , . . ];

 । ࠭   뢮 祭   -
( .  3 -  14 ). ਬ ᫥騥 ࠢ:

*  ᫨  ALL,  DISTINCT -  㪠, ਭ - ALL.

*  ࠦ<value expression> ⮨  <column spec>, ॣ⭮ 
   㭪樨 <aggregate funct>, ⠭⭮ 㭪樨<nonstandard fu-
   nction>, ﭭ<constant>,    樨  -
   ࠬ  ⨬ ࠦ.

*  뫠 ⠡<table reference>, ⮨   ⠡, -
    䨪  ᫨ ⥪騩 짮⥫  ,                                                                             
   ᨭ(⠭⭮)  ⠡.     
   ⠡楩  ᬮ஬.  ਭ樯, ᥢ  㪠, -
    ᨭ ᯮ  ⠡ ⮫쪮  ६ ⥪饩 -
   .  ⠡  ᨭ  ⤥  ᥢ 
      ࠧ⥫묨 <separator>.

*  ᫨ ᯮ GROUP BY,  ⮫<column spec> ᯮ-
     । SELECT,   ᯮ짮  -
    ⮫殢<grouping column>, ᫨   ᮤঠ  ॣ⭮  
   㭪樨<aggregate funct>.  㯯 ⮫殢<grouping column> -
     ।⠢ । ࠦ< value expressions> 㪠-
     । SELECT.   ⤥쭮 樨 
   祭 㯯 ⮫殢<grouping column>, 㤥    
   ⮫쪮  ப 뢮.

*  ᫨ HAVING ᯮ, ।<predicate > ਬ  -
    ப ந । GROUP BY,   ப -
    ᤥ  । ,  뢥.

*  ᫨ ORDER BY ᯮ, 뢮  । ᫥-
   쭮.  䨪 ⮫<column identifer> 뫠-
     㪠 <value expression>  । SELECT. ᫨ 


     416            SQL       
_____________________________________________________________________ 
     . D
  
   <value expression>  㪠 ⮫殬<column spec>, <co-
   lumn identifier>   ⠪   <column spec>.  <co-
   lumn identifier>   ⥫ 楫 ᫮, 㪠뢠-
   騬   室 <value expression>  ᫥⥫쭮 -
    SELECT. 뢮 㤥 ନ஢ ⠪ ⮡  
   祭 ᮤঠ騥  <column identifier >  浪 ⠭, 
   ᫨ DESC  㪠.
    䨪 ⮫<column identifier> 饥   -
    ORDER BY 㤥 ।⢮  騬  
    । ᫥⥫쭮 뢮.

। SELECT 業  ப- ⠡  -
ன ப  ᨬ. ப- । ᫥-
騬 ࠧ:

*  ᫨ ⮫쪮  뫠 ⠡<table reference> 祭, -
    ப ⮩ ⠡  ᢮ ।  ப-⮬.

*  ᫨   뫠 ⠡<table reference> 祭, -
    ப  ⠡   ᪮஢  ᢮ -
   ।   樥 ப   㣨 ⠡.  ⠪-
     㤥  ᢮ । ப-⮬.

 ப- ந 祭,   ।
<predicate >  । WHERE , ,  -
. ᫨ GROUP BY  ᯮ, <value expression> ਬ-
  ᢮ ।   ப-  祭 -
 । ,  १⮬ ⮩ 樨  뢮.
᫨ GROUP BY ᯮ, ப- , ᯮ-
 ॣ 㭪樨. ᫨  ।<predicate >  -
,  ࠦ<value expression> ਬ   
ப-    㯯. ᫨ 㪠 DISTINCT, 㡫-
( ) ப  㤠  뢮.

UNION
()

⠪

   <query> {UNION [ALL] <query> } . . . ;

뢮    ᮢ<query> 㤥 ꥤ.  
<query >  ᮤঠ      <value expression> 


                                       417
______________________________________________________________________


। SELECT   ⠪ 浪  1.. n , ᮢ⨬  
⨯ <data type>  ࠧ<size>  1.. n  㣨.


UPDATE
()

⠪

       UPDATE <table name>
          SET { <column name> = <value expression> } . , . .
          {[ WHERE <predlcate>]; }
          |    {[WHERE CURRENT OF <cursorname>]
               <SQL term>]}

UPDATE   祭   ⮫  <column name>
 ᮮ⢥饥 祭<value expression>. ᫨ । 
WHERE ᯮ ।<predicate>,  ⮫쪮 ப ⠡  
⥪騥 祭   ।<predicate> ,   -
. ᫨ WHERE ᯮ । CURRENT OF,  -
祭  ப ⠡  <table name> 室騥   
<cursor name> .  WHERE CURRENT OF ਣ 
ᯮ짮 ⮫쪮   SQL,  ⮫쪮  㥬묨
ࠬ.  ⢨ । WHERE -  ப .


WHENEVER
(  )

⠪

EXEC SQL WHENEVER <SQLcond> <actlon> <SQL term>
   <SQLcond> :: = SQLERROR | NOT FOUND | SQLWARNING
   (᫥ - ⠭⭮)
   <action> :: = CONTINUE | GOTO <target> | GOTO <target>
   <target> :: =    몠





                                          ਫ  E




                   SQL




                                     SQL          420  
__________________________________________________________________
                                                                 .  


====================   1:    ================

      ----------------------------------------------
        snum  |   sname   |  city        |   comm
      --------|-----------|--------------|----------
        1001  |  Peel     |  London      |    .12
        1002  |  Serres   |  San Jose    |    .13
        1004  |  Motika   |  London      |    .11
        1007  |  Rifkin   |  Barcelona   |    .15
        1003  |  Axelrod  |  New York    |    .10
       ---------------------------------------------



==================   2:    ===============

       ----------------------------------------------
        cnum  |  cname     | city    | rating | snum
       -------|------------|---------|--------|------
        2001  |  Hoffman   | London  |   100  | 1001
        2002  |  Giovanni  | Rome    |   200  | 1003
        2003  |  Liu       | SanJose |   200  | 1002
        2004  |  Grass     | Berlin  |   300  | 1002
        2006  |  Clemens   | London  |   100  | 1001
        2008  |  Cisneros  | SanJose |   300  | 1007
        2007  |  Pereira   | Rome    |   100  | 1004
       ----------------------------------------------



==================   3:     ==================

       -----------------------------------------------
        onum  |    amt    |    odate    | cnum | snum
       -------|-----------|-------------|------|------
        3001  |    18.69  |  10/03/1990 | 2008 | 1007
        3003  |   767.19  |  10/03/1990 | 2001 | 1001
        3002  |  1900.10  |  10/03/1990 | 2007 | 1004
        3005  |  5160.45  |  10/03/1990 | 2003 | 1002
        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
       -----------------------------------------------
