Что это? Зачем это?
Берём любую таблицу без столбца "name". Как показали опыты - последнее важно.
Пишем два запроса:
1. SELECT name FROM table;
2. SELECT a.name FROM table AS a;
Если кто-то пояснит мне принципиальную разницу между ними с точки зрения языка запросов - сразу плюсую!
Ниже "==========" - вывод по каждому из запросов. Если не верите и не лень - можете воспроизвести у себя.
Очень интересно посмотреть на описание этой фичи, особенно порадуюсь официальной документации про фичу, сам там не нашёл. Кому это нужно, зачем, как это используется в мирных или не очень целях? Дайте, плиз, линки по сабжу!
==================================================================
[root@www /]# psql --version
psql (PostgreSQL) 8.4.9
DB=> \d register
Table "public.register"
Column | Type | Modifiers
---------------+-----------------------------+--------------------------------------------------------------------
id_register | integer | not null default nextval('register_id_register_seq'::regclass)
id_meeting | integer | not null
id_user | integer | not null
insert_date | timestamp without time zone | not null default ('now'::text)::timestamp without time zone
remind | boolean | not null default false
cancel_reason | integer |
Indexes:
"register_pkey" PRIMARY KEY, btree (id_register)
"register_id_meeting_key" UNIQUE, btree (id_meeting, id_user)
DB=> select name from fms_register;
ERROR: column "name" does not exist
СТРОКА 1:select name from fms_register;
cis=> select a.name from fms_register as a;
name
---------------------------------------------------
(891,67,1283,"2012-09-19 14:24:00.822585",f,)
(892,67,841,"2012-09-25 16:53:22.17663",f,)
(893,67,1131,"2012-10-01 16:29:32.852963",f,)
(894,67,55,"2012-10-02 13:36:37.59033",f,)
(32,147,24,"2012-01-13 16:24:24.548804",t,)
(33,150,24,"2012-01-17 11:39:55.406435",t,)
(34,150,141,"2012-01-18 13:05:21.050154",t,)
(35,152,25,"2012-01-18 13:07:31.820963",t,)
(36,152,24,"2012-01-18 13:08:22.069917",f,)
--More--
Примечание:
Ant1973, это про другое совсем фраза!
Про то, что если у меня в table есть столбец "end", то мне не стоит делать SELECT end FROM table, мне больше повезёт с SELECT "end" FROM table.
Примечание:
Кэп.О.,
И всё-таки, где бы почитать про само это ключевое-неключевое слово NAME, зачем оно как минимум в версии 8.4.9. вот такое вот странное реализовано, для чего используется?