PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
---|---|---|---|---|
Prev | Fast Backward | Fast Forward | Next |
SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] * | expression [ AS output_name ] [, ...] [ FROM from_item [, ...] ] [ WHERE condition ] [ GROUP BY expression [, ...] ] [ HAVING condition [, ...] ] [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ] [ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ] [ LIMIT { count | ALL } ] [ OFFSET start ] [ FOR UPDATE [ OF table_name [, ...] ] ] ���� from_item �����ǣ� [ ONLY ] table_name [ * ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ] ( select ) [ AS ] alias [ ( column_alias [, ...] ) ] function_name ( [ argument [, ...] ] ) [ AS ] alias [ ( column_alias [, ...] | column_definition [, ...] ) ] function_name ( [ argument [, ...] ] ) AS ( column_definition [, ...] ) from_item [ NATURAL ] join_type from_item [ ON join_condition | USING ( join_column [, ...] ) ]
SELECT ����һ���������з��ؼ�¼�С� SELECT ͨ���Ĵ������£�
�����г��� FROM �е�����Ԫ�ء���FROM �е�ÿ��Ԫ�ض���һ�������Ļ�������ı�������� FROM �б��������˶��һ��Ԫ�أ���ô���Ǿͽ���������һ�𡣣���������� FROM �Ӿ�����
��������� WHERE �Ӿ䣬��ô��������������� �������������С������������ WHERE �Ӿ�����
��������� GROUP BY �Ӿ䣬����ͷֳ�ƥ��һ��������ֵ�IJ�ͬ��� ��������� HAVING �Ӿ䣬��ô��������Щ����������������顣����������� GROUP BY �Ӿ� �� HAVING �Ӿ�����
ʵ������е�ʱ��SELECT ��Ϊÿ��ѡ�����м���������ʽ ����������� SELECT �б�����
ʹ�� UNION��INTERSECT�� �� EXCEPT�����ǿ��Ѷ�� SELECT ��������ϲ���һ���������UNION �����������������������������һ���е��У� INTERSECT �����������ϸ��������������ж��е��С� EXCEPT �����������ڵ�һ��������У����Dz��ڵڶ���������е��С�������������� �ظ����ж���ɾ�������������� ALL������������� UNION �Ӿ��� INTERSECT �Ӿ����� EXCEPT �Ӿ�����
��������� ORDER BY �Ӿ䣬��ô���ص����ǰ���ָ����˳������ġ� ���û�и��� ORDER BY����ô�������ǰ���ϵͳ��Ϊ����������ɵķ��������ġ� ����������� ORDER BY �Ӿ�����
DISTINCT �ӽ����ɾ����Щ�ظ����С� DISTINCT ON ɾ����Щƥ������ָ�����ʽ���С� ALL ��ȱʡ�����������к�ѡ�У������ظ��ġ� ����������� DISTINCT �Ӿ�����
��������� LIMIT ���� OFFSET �Ӿ䣬��ô SELECT ���ֻ���ؽ���е�һ���Ӽ��� ����������� LIMIT �Ӿ�����
FOR UPDATE �Ӿ䵼�� SELECT ���Բ����ĸ�����סѡ�����С������������ FOR UPDATE �Ӿ�����
������� SELECT Ȩ�������ӱ��ж�ȡ��ֵ�� ʹ�� FOR UPDATE ��Ҫ�� UPDATE Ȩ�ޡ�
FROM �Ӿ�Ϊ SELECT ����һ�����߶��Դ�� ��������˶��Դ����ô�����������Դ��ĵѿ��������������ӣ��� ����ͨ�����ǻ����һЩ�������ѷ��������Ƴɵѿ�������һ��С�Ľ������
FROM �Ӿ����������Ԫ�أ�
һ���ִ�ı����ͼ�����֣�������ģʽ���Σ��� ���������ONLY����ֻɨ��ñ� ���û������ONLY���ñ������������������еĻ�������ɨ�衣 �����ڱ��������һ��*����ʾɨ���������� ����Ŀǰ�İ汾�����ȱʡ���ԡ� ���� PostgreSQL 7.1 ��ǰ�İ汾�ONLY��ȱʡ���ԡ��� ȱʡ�����Կ���ͨ��������ѡ�� sql_inheritance ���ı䡣
Ϊ��Щ���������� FROM ��Ŀȡ�ı���������������д���������������������壨�������ͬһ����ɨ���˶�Σ��� ����ṩ�˱�������ô���ͻ���ȫ���ر���ߺ�����ʵ�����֣� ���磬������� FROM foo AS f����ô SELECT ʣ�µĶ����������� FROM ���� f ������ foo ���á����д�˱����� ����Ҳ�����ṩһ���ֶα����б����������滻����һ�����߶���ֶε����֡�
һ���� SELECT �� FROM �Ӿ�����ֵġ� ����������ú�����Ϊ���� SELECT ���������������ﴴ��һ����ʱ�� ��ע������� SELECT ������������Χ�� �������������ӱ�����
�������ÿ��Գ����� FROM �Ӿ�� ��������Щ���ؽ�����ĺ����ر����ã������κκ��������á��� ��ô���ͺ�������� SELECT ������������У� �Ѻ������������Ϊһ����ʱ��һ��������Ҳ����ʹ�ñ��������д�˱����� ���ǻ�����дһ���ֶα����б�Ϊ�������صĸ������͵�һ�����������ṩ�����滻�� �����������Ϊ�� record �������ͣ� ��ô�������һ�� AS �ؼ��ֻ��߱������������һ���ֶζ����б� ���磺( column_name data_type [, ... ])�� ����ֶζ����б����ƥ�亯�����ص��ֶε�ʵ����Ŀ�����͡�
[ INNER ] JOIN
LEFT [ OUTER ] JOIN
RIGHT [ OUTER ] JOIN
FULL [ OUTER ] JOIN
CROSS JOIN
֮һ�� �� INNER �� OUTER �������ͣ� ���DZ�������һ������������Ҳ����˵һ�� NATURAL�� ON join_condition�� ���� USING (join_column [, ...])�� �����Ļ�ȡ���ǵĺ��壬���� CROSS JOIN����Щ�Ӿ䶼���ܳ��֡�
һ�� JOIN �Ӿ䣬��������� FROM � ��Ҫʱʹ��Բ�����Ծ���Ƕ��˳�� ���û��Բ������JOIN ��Ƕ�״������ҡ� ���κ�����£�JOIN ���ȶ��ŷָ��� FROM ��ø�����
CROSS JOIN �� INNER JOIN ����һ���ĵѿ������������� FROM �Ķ����г�������Ľ����ͬ�� CROSS JOIN ��Ч�� INNER JOIN ON (true)�� Ҳ����˵��û�б�����ɾ�����С�������������ֻ�Ƿ����ϵķ��㣬 ��Ϊ���Ǻ����ü� FROM �� WHERE �ɵ�������һ���ġ�
LEFT OUTER JOIN �����������ĵѿ�������Ҳ����˵�� ������ϳ������ж�ͨ���������������е��У��������ֱߵı���û�ж�Ӧ�����ֱ߱���п���һ��ƥ��ͨ��������������Щ�С� ���������ֱߵ�����չ���������ɱ��ȫ��������������Щ���ֱ߱��Ӧ���ֶ�λ�����Ͽա���ע�⣬ֻ���ھ�����Щ����ƥ���ʱ�� ֮���� JOIN �Ӿ��Լ�����������������������֮��ʩ�ӵġ�
��Ӧ���ǣ�RIGHT OUTER JOIN �����������ӳ������У� ����ÿ����ƥ������ֱ��У�����ÿ�ֵ��չ������ֻ��һ�������ϵı�������Ϊ�������ǿ�����ת����һ�� LEFT OUTER JOIN�� ֻҪ����ߺ��ұߵ�����Ե�һ�¼��ɡ�
FULL OUTER JOIN �����������ӳ������У�����ÿ����ƥ������ֱߵ��У��ұ��ÿ�ֵ��չ���� ����ÿ����ƥ������ֱߵ��У�����ÿ�ֵ��չ����
join_condition��һ�����ʽ�� ��������Ϊ boolean �Ľ��������WHERE �Ӿ䣩�� ��ʾ��������Щ�б���Ϊ��ƥ��ġ�
һ������ USING ( a, b, ... ) ���Ӿ䣬 ��ON left_table.a = right_table.a AND left_table.b = right_table.b ... ����д��ͬ����USING �̺��ţ�ÿ�Ե�Ч�ֶ���ֻ��һ����������������У��������������������˼��
NATURAL ��һ�� USING �б����д������б�˵������������ͬ���ĵ��ֶΡ�
��ѡ�� WHERE ���������³�������ʽ��
WHERE condition
���� condition ������������������Ϊ boolean �ı��ʽ�� �κβ���������������ж���������ɾ�������һ���е���ֵ�滻�������������м������������Ϊ�棬��ô���о�������������
��ѡ�� GROUP BY �Ӿ��һ����ʽ
GROUP BY expression [, ...]
GROUP BY ��������������˵ı��ʽ�Ϲ���ͬ����ֵ����ѹ����һ�С� expression ������һ�������ֶ����֣� ������һ�������ֶΣ�SELECT �б�����ţ�����Ҳ����������������ֶ�ֵ�γɵ�������ʽ�� �������������£�һ�� GROUP BY �����ֽ������ͳ������ֶε����֣�����������ֶε����֡�
���ʹ���˾ۼ���������ô�ͻ�����һ��������н��м��㣬Ϊÿ��������һ��������ֵ�������û�� GROUP BY�� ��ô�ۼ���ѡ�����������м����һ��ֵ������������� GROUP BY�� ��ô SELECT �б���ʽ����������Щû�з�����ֶξ��ǷǷ��ģ� ���Ƿ��ھۼ��������Ϊ����δ������ֶΣ����ܻ᷵�ض����ֵ��
��ѡ�� HAVING �Ӿ���������ʽ��
HAVING condition
���� condition ��Ϊ WHERE �Ӿ�����������ͬ��
HAVING ȥ����һЩ���������������С� HAVING �� WHERE ��ͬ�� WHERE ��ʹ�� GROUP BY ֮ǰ���˳��������У��� HAVING ������ GROUP BY �������С� �� condition �����õ�ÿ���ֶζ����������������һ��������У��������ó�����һ���ۼ������
SELECT �б��� SELECT �� FROM ֮��Ĺؼ��֣� �����γ� SELECT ��������еı��ʽ�� ��Щ���ʽ���ԣ�����ͨ��Ҳ�ᣩ������ FROM �Ӿ��������������ֶΡ� ͨ��ʹ���Ӿ� AS output_name�� ���ǿ���Ϊ����ֶ������������и����֡� ��������ڸ��ֶ������ʾ�����ر����á� ��ҳ���������� ORDER BY �� GROUP BY �Ӿ��������ֶ�ֵ�� ���Dz����� WHERE ���� HAVING �Ӿ���ʹ�ã� �����������д���ʽ����
���˱��ʽ������Ҳ����������б���дһ�� *�� ��ʾ��������ֶε���д�����У����ǿ����� table_name.* ��Ϊ���Ըñ�������ֶε���д��
UNION �Ӿ��һ����ʽ�ǣ�
select_statement UNION [ ALL ] select_statement
���� select_statement ������û�� ORDER BY��LIMIT������ FOR UPDATE �Ӿ�� SELECT��䡣 �������Բ������Χ��ORDER BY �� LIMIT ���Ը������ӱ��ʽ� ���û��Բ��������Щ�Ӿ佫���� UNION �Ľ��ʹ�ã� �����Ǹ��������ֱߵ�������ʽ����
UNION ������������Щ�漰�������� SELECT ��䷵�ص��еĽ�����ϡ� һ�����������������������е�һ��������֣���ô���ͻ���������������ļ��������С� ������Ϊ UNION ֱ�Ӳ�������SELECT����������ͬ��Ŀ���ֶΣ� ���Ҷ�Ӧ���ֶα����м��ݵ��������͡�
ȱʡ�أ�UNION �Ľ���������κ��ظ����У����������� ALL �Ӿ䡣 ALL ��ֹ�������ظ��Ķ����� ����ˣ�UNION ALL ͨ���� UNION ����Ҫ�죬���ܵ�����¾���ʹ�� ALL����
ͬһSELECT����еĶ�� UNION �������Ǵ������Ҽ���ģ� ������Բ���������˱�ʶ��
Ŀǰ��FOR UPDATE ������ UNION �Ľ����������������
INTERSECT �Ӿ��һ����ʽ�ǣ�
select_statement INTERSECT [ ALL ] select_statement
select_statement ���κβ��� ORDER BY�� LIMIT������ FOR UPDATE �Ӿ�� SELECT ��䡣
INTERSECT �����漰�� SELECT ��䷵�ص��еļ��Ͻ����� ���һ����������������ж����֣���ô����������������Ľ����С�
INTERSECT �Ľ���������κ��ظ��У������������� ALL ѡ� ���� ALL �Ժ�һ�������ֱߵı����� m ���ظ��������ֱ߱����� n ���ظ����н����� min(m,n) �Ρ�
������Բ����ָ��˳�� ͬһ SELECT ����еĶ�� INTERSECT �������Ǵ������Ҽ���ġ� INTERSECT �� UNION �ø��� — Ҳ����˵ A UNION B INTERSECT C ������ A UNION (B INTERSECT C)����������Բ����������
Ŀǰ�����ܸ� INTERSECT �Ľ�������κ� INTERSECT ���������� FOR UPDATE��
EXCEPT �Ӿ������µ�ͨ����ʽ��
select_statement EXCEPT [ ALL ] select_statement
���� >select_statement ���κ�û�� ORDER BY��LIMIT������ FOR UPDATE �Ӿ�� SELECT ���ʽ��
EXCEPT������������������SELECT ������������������ұ����������С�
EXCEPT �Ľ���������κ��ظ����У����������� ALL ѡ� ʹ�� ALL ʱ��һ�������ֱ߱����� m ���ظ��������ֱ߱����� n ���ظ����н����� max(m-n,0) �Ρ�
������Բ����ָ��˳��ͬһ SELECT ����еĶ�� EXCEPT �������Ǵ������Ҽ���ġ� EXCEPT �� UNION ������ͬ��
Ŀǰ�����ܸ� EXCEPT �Ľ�������κ� EXCEPT ���������� FOR UPDATE �Ӿ䡣
��ѡ�� ORDER BY �Ӿ��������һ����ʽ��
ORDER BY expression [ ASC | DESC | USING operator ] [, ...]
expression ������һ������ֶΣ�SELECT �б������ֻ�����ţ� ����Ҳ�������������ֶε���ֵ��ɵ�������ʽ��
ORDER BY �Ӿ䵼�½���и���ָ���ı��ʽ�������� �����������ߵı��ʽ�����еĽ����ͬ����ô������һ�����ʽ���бȽϣ� �������ơ�����������������ı��ʽ���Ƕ���ͬ����ô�����˳�ء�
����ָ������/�ֶΰ�˳�����ң���λ�á� ������������ǿ��Զ�û��Ψһ���Ƶ���/�ֶν������� ��һ��������DZ���ģ� ��Ϊ���ǿ���ͨ�� AS �Ӿ��һ��Ҫ�������/�ֶθ���һ�����ơ�
�� ORDER BY �ﻹ����ʹ��������ʽ�� ������Щû�г�����SELECT����б�������ֶΡ� ����������������ǺϷ��ģ�
SELECT name FROM distributors ORDER BY code;
������Ե�һ��������Ӧ���� UNION��INTERSECT�� ���� EXCEPT ��ѯ�� ORDER BY �Ӿ�ֻ����һ������ֶ���������������������������һ�����ʽ��������
��ע�����һ�� ORDER BY ���ʽ��һ�������ƣ� ͬʱƥ�����ֶκ������ֶΣ� ORDER BY ���������ͳɽ���ֶ����ơ� ��� GROUP BY ��ͬ�����������ѡ�����෴�� �����IJ�һ������ SQL ��ǿ�Ƶġ�
���ǿ��Ը� ORDER BY �Ӿ���ÿ����/�ֶμ�һ���ؼ��� DESC ������ ASC����������������� ASC ��ȱʡ�� ���ǻ������� USING �Ӿ�������һ�������������ʵ������ ASC ��Ч��ʹ�� USING < �� DESC ��Ч��ʹ�� USING >��
��һ�������ֵ����ʱ����������ֵǰ�档���仰˵����������ʱ�� ��ֵ����ĩβ������������ʱ��ֵ���ڿ�ͷ��
�ַ����͵������ǰ���������ص��ַ���˳������ģ���������������ݿ⼯Ⱥ��ʼ����ʱ�����ġ�
��������� DISTINCT����ô�ʹӽ������ɾ�������ظ����У�ÿ�����ظ����鶼����һ�У��� ALL �����෴�����ã������ж��������������ȱʡ��
DISTINCT ON ( expression [, ...] ) ֻ������Щ�ڸ����ı��ʽ���������ͬ������м����еĵ�һ�С� DISTINCT ON ���ʽ��ʹ���� ORDER BY �������ģ� ��ͬ�Ĺ�����н��͵ġ���ע�⣬ ��������ʹ���� ORDER BY ����֤������Ҫ�������ȳ��֣�����ÿ�� "��һ��" �Dz���Ԥ��ġ� ���磬
SELECT DISTINCT ON (location) location, time, report FROM weather_reports ORDER BY location, time DESC;
Ϊÿ���ص����������������档�����������û��ʹ�� ORDER BY ��ǿ�ƶ�ÿ���ص��ʱ��ֵ���н���������ô���Ǿͻ�õ�ÿ���ص�IJ�֪��ʲôʱ��ı��档
DISTINCT ON ���ʽ����ƥ������ߵ� ORDER BY ���ʽ�� ORDER BY �Ӿ佫ͨ����������ı��ʽ���ж�ÿ�� DISTINCT ON ��������Ҫ���е����ȼ���
LIMIT �Ӿ��������������Ӿ���ɣ�
LIMIT { count | ALL } OFFSET start
���� count �������ص���������� �� start ������ʼ������֮ǰ���Ե�������
LIMIT ����������ɲ�ѯ�����������ɵ��е�ijһ���֡� ������������Ƽ�������ô���ص��������ᳬ���ĸ����ơ� ���������һ��ƫ��������ô��ʼ������֮ǰ������Ǹ��������С�
��ʹ�� LIMIT ʱ�� һ����ϰ����ʹ��һ�� ORDER BY �Ӿ�ѽ�������Ƴ�һ��Ψһ��˳�� �������õ���Ԥ�ϵIJ�ѯ���ص��Ӽ� — �������Ҫ��ʮ�е��ڶ�ʮ�У� ����ʲô˳���������� ORDER BY�������㲻֪��ʲô˳��
��ѯ�Ż��������ɲ�ѯ�滮ʱ�� LIMIT ���ǽ�ȥ�ˣ� ��������п���������� LIMIT �� OFFSET ֵ��ͬ���õ���ͬ�Ĺ滮�����ɲ�ͬ������ ����ò�ͬ�� LIMIT/OFFSET ֵѡ��ͬ�IJ�ѯ������Ӽ����������һ�µĽ���� �������� ORDER BY ǿ������һ����Ԥ�ƵĽ��˳�� ��ɲ���ë�������� SQL �������ص㣬��Ϊ�������� ORDER BY Լ��˳�� SQL ����֤��ѯ���ɵĽ�����κ��ض���˳��
FOR UPDATE �Ӿ����������ʽ
FOR UPDATE [ OF table_name [, ...] ]
FOR UPDATE ����Щ�� SELECT �������������б���ס������Ҫ����һ���� �����ͱ��������ڵ�ǰ�������ǰ�����������Ļ���ɾ���� Ҳ����˵��������ͼ UPDATE��DELETE�� ���� SELECT FOR UPDATE ��Щ�е����������� ֱ����ǰ���������ͬ�������һ��������������� UPDATE�� DELETE������ SELECT FOR UPDATE �Ѿ���ס��ij����ijЩѡ�����У�SELECT FOR UPDATE ���ȵ���Щ��������� ���ҽ������ס�����ظ��µ��У����߲������У�������Ѿ���ɾ��������������۲��� Chapter 12��
����ض��ı��� FOR UPDATE �У���ôֻ��������Щ���е��вű���ס�� �κ��� SELECT ��ʹ�õ�������ֻ�Ǻ�ƽ��һ����ȡ��
FOR UPDATE ��������Щ��ʹ�ö����ı�������������ʶ�����еĻ���� ���磬�����ܺ;ۼ�һ��ʹ�á�
FOR UPDATE ������ LIMIT ǰ����֣� ��Ҫ��Ϊ�˺� 7.3 ֮ǰ�� PostgreSQL ���ݡ� ���������� LIMIT ����ִ�и���Ч��������ǽ������ LIMIT ���档
���� films �ͱ� distributors ������һ��
SELECT f.title, f.did, d.name, f.date_prod, f.kind FROM distributors d, films f WHERE f.did = d.did title | did | name | date_prod | kind -------------------+-----+--------------+------------+---------- The Third Man | 101 | British Lion | 1949-12-23 | Drama The African Queen | 101 | British Lion | 1951-08-11 | Romantic ...
ͳ����kind ��������е�Ӱ�������/�ֶε� len�����ȣ��ĺͣ�
SELECT kind, sum(len) AS total FROM films GROUP BY kind; kind | total ----------+------- Action | 07:34 Comedy | 02:58 Drama | 14:28 Musical | 06:42 Romantic | 04:38
ͳ�����е�Ӱ��films���������/�ֶ� len�����ȣ��ĺͣ��� kind ���鲢����ʾС��5Сʱ�����ܺͣ�
SELECT kind, sum(len) AS total FROM films GROUP BY kind HAVING sum(len) < interval '5 hour'; kind | total ----------+------- Comedy | 02:58 Romantic | 04:38
�������������Ǹ��ݵڶ��У�name�������ݶԵ����Ľ������ľ���ķ�����
SELECT * FROM distributors ORDER BY name; SELECT * FROM distributors ORDER BY 2; did | name -----+------------------ 109 | 20th Century Fox 110 | Bavaria Atelier 101 | British Lion 107 | Columbia 102 | Jean Luc Godard 113 | Luso films 104 | Mosfilm 103 | Paramount 106 | Toho 105 | United Artists 111 | Walt Disney 112 | Warner Bros. 108 | Westward
�������������ʾ��λ�ñ� distributors �� actors�����ӣ� ֻ��ÿ����������ĸ W ��ͷ��ȡ������ ��Ϊֻȡ�˲���ص��У����Թؼ��� ALL ��ʡ���ˣ�
distributors: actors: did | name id | name -----+-------------- ----+---------------- 108 | Westward 1 | Woody Allen 111 | Walt Disney 2 | Warren Beatty 112 | Warner Bros. 3 | Walter Matthau ... ... SELECT distributors.name FROM distributors WHERE distributors.name LIKE 'W%' UNION SELECT actors.name FROM actors WHERE actors.name LIKE 'W%' name ---------------- Walt Disney Walter Matthau Warner Bros. Warren Beatty Westward Woody Allen
���������ʾ������� FROM �Ӿ���ʹ��һ�������� �������кͲ����ֶζ����б�ġ�
CREATE FUNCTION distributors(int) RETURNS SETOF distributors AS $$ SELECT * FROM distributors WHERE did = $1; $$ LANGUAGE SQL; SELECT * FROM distributors(111); did | name -----+------------- 111 | Walt Disney CREATE FUNCTION distributors_2(int) RETURNS SETOF record AS $$ SELECT * FROM distributors WHERE did = $1; $$ LANGUAGE SQL; SELECT * FROM distributors_2(111) AS (f1 int, f2 text); f1 | f2 -----+------------- 111 | Walt Disney
��Ȼ��SELECT ���� SQL �����ݡ����ǻ���һЩ��չ��һЩȱ�ٵ����ԡ�
PostgreSQL ����������һ����ѯ��ʡ�� FROM �Ӿ䡣 ������ֱ����;���Ǽ���ij������ʽ�Ľ����
SELECT 2+2; ?column? ---------- 4
������Щ SQL ���ݿⲻ����ô������������һ�����е�α���� SELECT ������Դ��
������Ե�����һ����̫���Ե���;�ǰ�һ����ͨ�Ĵ�һ��������� SELECT ��д��
SELECT distributors.* WHERE distributors.name = 'Westward'; did | name -----+---------- 108 | Westward
����Ҳ������������Ϊ���Ǹ� SELECT �������˵�û���� FROM ���ᵽ��ÿ��������һ�������� FROM �
�������Ǹ��ܷ����д��������ȴ�������á� ���磬����IJ�ѯ
SELECT distributors.* FROM distributors d;
���ܾ��Ǹ������û����п��ܵ���˼��
SELECT d.* FROM distributors d;
�����������ʵ���ϵõ�����Լ��������
SELECT distributors.* FROM distributors d, distributors distributors;
Ϊ�˰���������ִ��� PostgreSQL �Լ��Ժ�İ汾������ʹ��һ���������� FROM ����������ȷ�� FROM �Ӿ��SELECT���ʱ��������档 ͬ��������Ҳ����ͨ������ add_missing_from ����Ϊ false ���ر������� FROM ���ԡ�
�� SQL �����ѡ�Ĺؼ��� AS �Ƕ���ģ����Ժ��Ե��������������κ�Ӱ�졣 PostgreSQL ����������������/�ֶ�ʱ��Ҫ����ؼ��֣� ��Ϊ������չ�����Իᵼ�����������������塣 ������AS �� FROM �����ǿ�ѡ�ġ�
�� SQL-92 ���ORDER BY �Ӿ�ֻ��ʹ�ý���ֶ������߱�ţ� �� GROUP BY �Ӿ�ֻ���û��������ֶ����ı��ʽ�� PostgreSQL ���������Ӿ䶼��������չ�� ��������һ��ѡ��������������壬��ʹ�ñ��Ľ��ͣ��� PostgreSQL �����������Ӿ���������ı��ʽ�� ��ע���ڱ��ʽ�г��ֵ�����ǿ���DZ����������ֶ����������ǽ���ֶ�����
SQL:1999 һ������ͬ�Ķ��壬�� SQL-92 ��������ȫ���ϼ��ݡ� �������ڴ��������£�PostgreSQL ����һ�� ORDER BY ���� GROUP BY ���ʽ������Ϊ SQL:1999 �ƶ���������