7.1. ÐбзоÑ
ÐÑоÑеÑÑ Ð¸Ð»Ð¸ команда полÑÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
из Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
назÑваеÑÑÑ Ð·Ð°Ð¿ÑоÑом. Ð SQL запÑоÑÑ ÑоÑмÑлиÑÑÑÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ SELECT. РобÑем виде команда SELECT запиÑÑваеÑÑÑ Ñак:
[WITHзапÑоÑÑ_with] SELECTÑпиÑок_вÑбоÑкиFROMÑаблиÑное_вÑÑажение[опÑеделение_ÑоÑÑиÑовки]
Ð ÑледÑÑÑиÑ
ÑазделаÑ
подÑобно опиÑÑваÑÑÑÑ ÑпиÑок вÑбоÑки, ÑаблиÑное вÑÑажение и опÑеделение ÑоÑÑиÑовки. ÐапÑоÑÑ WITH ÑвлÑÑÑÑÑ ÑаÑÑиÑенной возможноÑÑÑÑ PostgreSQL и бÑдÑÑ ÑаÑÑмоÑÑÐµÐ½Ñ Ð² поÑледнÑÑ Ð¾ÑеÑедÑ.
ÐÑоÑÑой запÑÐ¾Ñ Ð²ÑглÑÐ´Ð¸Ñ Ñак:
SELECT * FROM table1;
ÐÑли пÑедположиÑÑ, ÑÑо в базе даннÑÑ
еÑÑÑ ÑаблиÑа table1, ÑÑа команда полÑÑÐ¸Ñ Ð²Ñе ÑÑÑоки Ñ ÑодеÑжимÑм вÑеÑ
ÑÑолбÑов из table1. (ÐеÑод вÑдаÑи ÑезÑлÑÑаÑа опÑеделÑÐµÑ ÐºÐ»Ð¸ÐµÐ½ÑÑкое пÑиложение. ÐапÑимеÑ, пÑогÑамма psql вÑÐ²ÐµÐ´ÐµÑ Ð½Ð° ÑкÑане ASCII-ÑаблиÑÑ, Ñ
оÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑкие библиоÑеки позволÑÑÑ Ð¸Ð·Ð²Ð»ÐµÐºÐ°ÑÑ Ð¾ÑделÑнÑе знаÑÐµÐ½Ð¸Ñ Ð¸Ð· ÑезÑлÑÑаÑа запÑоÑа.) ÐдеÑÑ ÑпиÑок вÑбоÑки задан как *, ÑÑо ознаÑаеÑ, ÑÑо запÑÐ¾Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ веÑнÑÑÑ Ð²Ñе ÑÑолбÑÑ ÑаблиÑного вÑÑажениÑ. Ð ÑпиÑке вÑбоÑки можно Ñакже ÑказаÑÑ Ð¿Ð¾Ð´Ð¼Ð½Ð¾Ð¶ÐµÑÑво доÑÑÑпнÑÑ
ÑÑолбÑов или ÑоÑÑавиÑÑ Ð²ÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ñ ÑÑими ÑÑолбÑами. ÐапÑимеÑ, еÑли в table1 еÑÑÑ ÑÑолбÑÑ a, b и c (и возможно, дÑÑгие), Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе вÑполниÑÑ ÑледÑÑÑий запÑоÑ:
SELECT a, b + c FROM table1;
(в пÑедположении, ÑÑо ÑÑолбÑÑ b и c имеÑÑ ÑиÑловой Ñип даннÑÑ
). ÐодÑобнее ÑÑо опиÑано в Разделе 7.3.
FROM table1 â ÑÑо пÑоÑÑейÑий Ñип ÑаблиÑного вÑÑажениÑ, в коÑоÑом пÑоÑÑо ÑиÑаеÑÑÑ Ð¾Ð´Ð½Ð° ÑаблиÑа. ÐообÑе ÑаблиÑнÑе вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ ÑложнÑми конÑÑÑÑкÑиÑми из базовÑÑ
ÑаблиÑ, Ñоединений и подзапÑоÑов. Рможно и вовÑе опÑÑÑиÑÑ ÑаблиÑное вÑÑажение и иÑполÑзоваÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ SELECT как калÑкÑлÑÑоÑ:
SELECT 3 * 4;
Ð ÑÑом Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð±Ð¾Ð»ÑÑе ÑмÑÑла, когда вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð² ÑпиÑке вÑбоÑки возвÑаÑаÑÑ Ð¼ÐµÐ½ÑÑÑиеÑÑ ÑезÑлÑÑаÑÑ. ÐапÑимеÑ, можно вÑзваÑÑ ÑÑнкÑÐ¸Ñ Ñак:
SELECT random();