select.hlp
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:4k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. .pgaw:Help.f.t insert end "SELECT" {bold} " will return rows from one or more tables. Candidates for selection are rows which satisfy the WHERE condition; if WHERE is omitted, all rows are candidates.
  2. " {} "Synopsis" {bold} "
  3. " {} "
  4. SELECT [ALL|DISTINCT [ON column] ]
  5.     expression [ AS
  6.    name ] [, ...]
  7.     [ INTO [TEMP] [TABLE] new_table ]
  8.     [ FROM table
  9.    [alias ] [, ...] ]
  10.     [ WHERE condition ]
  11.     [ GROUP BY column [, ...] ]
  12.     [ HAVING condition [, ...] ]
  13.     [ { UNION [ALL] | INTERSECT | EXCEPT } select ]
  14.     [ ORDER BY column [ ASC | DESC ] [, ...] ]
  15.     [ FOR UPDATE [OF class_name...]]
  16.     [ LIMIT count [OFFSET|, count]]
  17.     
  18. " {code} "Usage" {bold} "
  19. To join the table films with the table distributors: 
  20. " {} "
  21. SELECT f.title, f.did, d.name, f.date_prod, f.kind
  22.     FROM distributors d, films f
  23.     WHERE f.did = d.did
  24. title                    |did|name            | date_prod|kind
  25. -------------------------+---+----------------+----------+----------
  26. The Third Man            |101|British Lion    |1949-12-23|Drama
  27. The African Queen        |101|British Lion    |1951-08-11|Romantic
  28. Une Femme est une Femme  |102|Jean Luc Godard |1961-03-12|Romantic
  29. Vertigo                  |103|Paramount       |1958-11-14|Action
  30. Becket                   |103|Paramount       |1964-02-03|Drama
  31. 48 Hrs                   |103|Paramount       |1982-10-22|Action
  32. War and Peace            |104|Mosfilm         |1967-02-12|Drama
  33. West Side Story          |105|United Artists  |1961-01-03|Musical
  34. Bananas                  |105|United Artists  |1971-07-13|Comedy
  35. Yojimbo                  |106|Toho            |1961-06-16|Drama
  36. There's a Girl in my Soup|107|Columbia        |1970-06-11|Comedy
  37. Taxi Driver              |107|Columbia        |1975-05-15|Action
  38. Absence of Malice        |107|Columbia        |1981-11-15|Action
  39. Storia di una donna      |108|Westward        |1970-08-15|Romantic
  40. The King and I           |109|20th Century Fox|1956-08-11|Musical
  41. Das Boot                 |110|Bavaria Atelier |1981-11-11|Drama
  42. Bed Knobs and Broomsticks|111|Walt Disney     |          |Musical
  43.   
  44. To sum the column len of all films and group the results by kind: 
  45. SELECT kind, SUM(len) AS total FROM films GROUP BY kind;
  46.     kind      |total
  47.     ----------+------
  48.     Action    | 07:34
  49.     Comedy    | 02:58
  50.     Drama     | 14:28
  51.     Musical   | 06:42
  52.     Romantic  | 04:38
  53.   
  54. To sum the column len of all films, group the results by kind and show those group totals that are less than 5 hours: 
  55. SELECT kind, SUM(len) AS total
  56.     FROM films
  57.     GROUP BY kind
  58.     HAVING SUM(len) < INTERVAL '5 hour';
  59.     kind      |total
  60.     ----------+------
  61.     Comedy    | 02:58
  62.     Romantic  | 04:38
  63.   
  64. The following two examples are identical ways of sorting the individual results according to the contents of the second column (name): 
  65. SELECT * FROM distributors ORDER BY name;
  66. SELECT * FROM distributors ORDER BY 2;
  67.     did|name
  68.     ---+----------------
  69.     109|20th Century Fox
  70.     110|Bavaria Atelier
  71.     101|British Lion
  72.     107|Columbia
  73.     102|Jean Luc Godard
  74.     113|Luso films
  75.     104|Mosfilm
  76.     103|Paramount
  77.     106|Toho
  78.     105|United Artists
  79.     111|Walt Disney
  80.     112|Warner Bros.
  81.     108|Westward
  82.   
  83. This example shows how to obtain the union of the tables distributors and actors, restricting the results to those that begin with letter W in each table. Only distinct rows are to be used, so
  84. the ALL keyword is omitted: 
  85.     --        distributors:                actors:
  86.     --        did|name                     id|name
  87.     --        ---+------------             --+--------------
  88.     --        108|Westward                  1|Woody Allen
  89.     --        111|Walt Disney               2|Warren Beatty
  90.     --        112|Warner Bros.              3|Walter Matthau
  91.     --        ...                           ...
  92. SELECT distributors.name
  93.     FROM   distributors
  94.     WHERE  distributors.name LIKE 'W%'
  95. UNION
  96. SELECT actors.name
  97.     FROM   actors
  98.     WHERE  actors.name LIKE 'W%'
  99. name
  100. --------------
  101. Walt Disney
  102. Walter Matthau
  103. Warner Bros.
  104. Warren Beatty
  105. Westward
  106. Woody Allen
  107. " {code} "Compatibility" {bold} "
  108. Extensions 
  109. Postgres allows one to omit the FROM clause from a query. This feature was retained from the original PostQuel query language: 
  110. " {} "
  111. SELECT distributors.* WHERE name = 'Westwood';
  112.     did|name
  113.     ---+----------------
  114.     108|Westward
  115.     
  116. " {code}