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 tablename [, ...] ] ] �����ǡ�from_item �ϰʲ��ΤȤ���Ǥ��� [ ONLY ] table_name [ * ] [ [ AS ] alias [ ( column_alias_list ) ] ] | ( select ) [ AS ] alias [ ( column_alias_list ) ] | table_function_name ( [ argument [, ...] ] ) [ AS ] alias [ ( column_alias_list | column_definition_list ) ] | table_function_name ( [ argument [, ...] ] ) AS ( column_definition_list ) | from_item [ NATURAL ] join_type from_item [ ON join_condition | USING ( join_column_list ) ]
�ơ��֥����̾�⤷���ϼ��Ǥ���
AS ���Ȥ�����������̤�̾������ꤷ�ޤ�������̾���ϼ��ɽ���������̾�Ť��뤿��˻Ȥ��ޤ���¾�ˤ� ORDER BY �� GROUP BY ����������ͤȤ���Τ˻Ȥ��뤳�Ȥ⤢��ޤ��������� output_name�� WHERE �⤷���� HAVING ��ǻȤ����ȤϤǤ��ޤ��� ����˼���Ʋ�������
�ơ��֥뻲�ȡ��� SELECT���ơ��֥�ؿ����⤷���� JOIN ��Ǥ����ܺ٤ϲ����Ȥ��Ʋ�������
�������η�̤��֤��֡��ꥢ�Ǥ���WHERE �� HAVING ��������ϲ����Ȥ��Ʋ�������
ORDER BY��LIMIT/OFFSET�������� FOR UPDATE ���������Ƥε�ǽ�������� select ʸ�Ǥ� (select ���å��Ǥ�����С�ORDER BY��LIMIT/OFFSET��FOR UPDATE ����ѤǤ��ޤ�)��
FROM �����ƥ�ϲ�����ޤळ�Ȥ��Ǥ��ޤ���
��¸�Υơ��֥�ޤ��ϥӥ塼��̾���Ǥ� (����������̾�Ǥ��)�� ONLY �����ꤵ�줿��硢���Υơ��֥�Τߤ��������ޤ��� �⤷ ONLY �����ꤵ��ʤ���硢�ơ��֥�Ȥ����Ѿ����뤹�٤ƤΥơ��֥뤬�������ޤ��� �Ѿ��ơ��֥뤬�������뤳�Ȥ�ɽ������ˡ��ơ��֥�̾�� * ���դ��뤳�Ȥ��Ǥ��ޤ��������ߤΥС������Ǥϡ��Ѿ��ơ��֥�Υ������ϥǥե���ȤǹԤ��ޤ��� (7.1 ������Υ����Ǥϡ�ONLY ���ǥե���ȤǤ�����) �ǥե���Ȥο������ѹ�����ˤϡ�SQL_INHERITANCE �������ץ������ѹ����ޤ���
��̾��ޤ� FROM �����ƥ������̾�Ǥ�����̾�ϴʷ餵�Τ��ᡢ�⤷���ϼ��ʷ�� (Ʊ���ơ��֥뤬ʣ����������Ǥ�) ��ۣ�椵��ʤ�������˻Ȥ��ޤ��� ��̾�����ꤵ��Ƥ�����ϡ�������̾�ˤ�äƼºݤΥơ��֥�̾�ޤ��ϥơ��֥�ؿ�̾�������˱�����ޤ����㤨�С�FROM foo AS f �Ȼ��ꤵ��Ƥ����硢�ʹߤ� SELECT ʸ�ǤϤ��� FROM �����ƥ�� foo �ǤϤʤ� f �Ȥ��ƻ��Ȥ���ɬ�פ�����ޤ����ơ��֥����̾�Ȱ��ˡ����Υơ��֥��ʣ���������̾�ꥹ�Ȥ��դ��ä��뤳�Ȥ�Ǥ��ޤ���
�� 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 ��緿�Ǥϡ����Τ˰�Ĥ� NATURAL, ONjoin_condition,�⤷���� USING ( join_column_list ) �Τ����줫���ʤ��ƤϤ����ޤ���CROSS JOIN�Ǥϡ����ڤʤ��Ƥ⤫�ޤ��ޤ���
������Ǥ�������� WHERE ���Ȼ��Ƥ��ޤ��������� JOIN ��Ƿ�礵�����Ĥ� from_item �ˤΤߤ��ƤϤޤ�Ȥ��������㤤�ޤ���
USING ��ꥹ��( a, b, ... ) �� ON ���left_table.a = right_table.a AND left_table.b = right_table.b ...�δ�ά�С������Ǥ���
SELECT �ϰ�İʾ�Υơ��֥뤫��Ԥ��֤��ޤ������������ WHERE �����������ԤǤ��� �⤷ WHERE ����ά�����ȡ����ƤιԤ�����ˤʤ�ޤ���(WHERE ���Ʋ�������)
�ºݤΤȤ������֤����Ԥ� FROM/WHERE/GROUP BY/HAVING �礫��ľ�ܺ����ԤǤϤ���ޤ��� ���Ϥ����ԤϤ��줾������줿�Ԥ� SELECT ���ϼ�������뤳�ȤǷ�������ޤ���* �����줿�Ԥ����Ƥ���ξ�ά���Ȥ��Ƥν��ϥꥹ�Ȥ˽��Ȥ��Ǥ��ޤ������ˡ�table_name .* �Ϥ��Υơ��֥�Τߤ��餯����ξ�ά���Ȥ��ƽ��Ȥ��Ǥ��ޤ���
DISTINCT �Ϸ�̤����ʣ�Ԥ������ޤ���ALL �ʥǥե���ȤǤ�) �Ͻ�ʣ�Ԥ�ޤ����Ƥθ���ιԤ��֤��ޤ���
DISTINCT ON �Ϥ��줾��ν�ʣ�Ԥν���κǽ�ιԤΤߤ�Ĥ������ꤵ�줿�������ƤϤޤ�Ԥ�ä��ޤ���DISTINCT ON���� ORDER BY �����ƥ��Ʊ���롼���ȤäƲ�ᤵ��ޤ��� �����Ʋ����������줾��ν���� "�ǽ�ι�" ��ORDER BY ��˾�ޤ��Ԥ��ǽ�˽Ф뤳�Ȥ�μ¤ˤ��ʤ��������ͽ¬�Ǥ��ʤ����Ȥ����դ��Ʋ��������ʲ�������ޤ���
SELECT DISTINCT ON (location) location, time, report FROM weatherReports ORDER BY location, time DESC;
�Ϥ��줾��ξ��κǿ��ε��ݾ����������ޤ����������⤷���줾��ξ��λ����ͤ�߽�˶������뤿��� ORDER BY ��Ȥ�ʤ��ä��Ȥ����顢���줾��ξ���ͽ¬�Ǥ��ʤ������ͽ������뤳�ȤˤʤäƤ��ޤ��ޤ���
GROUP BY ��ˤ�äƥ桼�����ơ��֥��İʾ���ͤ����ƤϤޤ�ԤΥ��롼�פˤ櫓�뤳�Ȥ��Ǥ��ޤ���(GROUP BY���Ʋ�������)
HAVING ��ˤ�äơ����ꤵ�줿���ˤ����ԤΥ��롼�פΤߤ����뤳�Ȥ��Ǥ��ޤ���(HAVING ���Ʋ�������)
ORDER BY ��ϡ��֤��줿�Ԥ����ꤵ�줿��˥����Ȥ����褦�ˤ��ޤ����⤷ ORDER BY ��Ϳ�����ʤ��ȡ��Ԥϥ����ƥ�ˤȤäư��ֺ��䤹�����֤��֤���ޤ���(ORDER BY ���Ʋ�������)
SELECT �䤤��碌�� UNION, INTERSECT, ������ EXCEPT �黻�Ҥ�Ȥä��Ȥ߹�碌�뤳�Ȥ��Ǥ��ޤ����⤷�����α黻�Ҥν��֤����ɬ�פ�����Ȥ��ϥ��å���Ȥ��ޤ���
UNION �黻�Ҥϡ���Ϣ�����䤤��碌���֤��Ԥν��ޤ������ޤ�����ʣ�Ԥ� ALL �����ꤵ��ʤ��¤�������ޤ���(UNION ���Ʋ�������)
INTERSECT �黻�Ҥ�ξ�����䤤��碌�˶��̤���Ԥ�����ޤ�����ʣ�Ԥ� ALL �����ꤵ��ʤ��¤�������ޤ���(INTERSECT ���Ʋ�������)
EXCEPT �黻�ҤϺǽ���䤤��碌������֤��������ܤ��䤤��碌������֤���ʤ��Ԥ�����ޤ�����ʣ�Ԥ� ALL �����ꤵ��ʤ��¤�������ޤ���(EXCEPT ���Ʋ�������)
LIMIT ��ϥ桼�����֤��٤��䤤��碌�ˤ�äƺ����ԤΥ��֥��åȤ��ǽ�ˤ��ޤ���(LIMIT ���Ʋ�������)
FOR UPDATE ��ˤ�ä� SELECT ʸ�ϡ����줿�Ԥ�Ʊ����������ʤ��褦���å����ޤ���
�����ͤ��ɤ߹���ˤϥơ��֥���Ф��� SELECT ���¤�ɬ�פǤ� (GRANT/REVOKE ʸ�˴ؤ���������)�� �ޤ� FOR UPDATE ����Ѥ���ˤ� UPDATE ���¤�ɬ�פǤ���
FROM ��ϰ�İʾ�Υ������ơ��֥�� SELECT �˻��ꤷ�ޤ����⤷ʣ���Υ����������ꤵ���ȡ���̤ϳ�ǰŪ�����ƤΥ����������ƤιԤ�ľ�Ѥˤʤ�ޤ��� �������̾���������ľ�Ѥξ����ʥ��֥��åȤ����¤��뤿����ɲä���ޤ���
FROM �����ƥबñ��ʥơ��֥�̾�ξ�硢����ϰ���Ū�ˤ��Υơ��֥�Υ��֥ơ��֥�(�Ѿ������)����ιԤ�ޤߤޤ���ONLY �Ϥ��Υơ��֥�Υ��֥ơ��֥뤫��ιԤ��ް����ޤ���PostgreSQL 7.1 �����ǤϤ���ϥǥե���Ȥη�̤ǡ����֥ơ��֥���ɲäϥơ��֥�̾�� * ���դ��ƹԤʤ��Ƥ��ޤ����� ���θŤ���ˡ�ϥ��ޥ�� SET SQL_Inheritance TO OFF �ǻȤ����Ȥ��Ǥ��ޤ���
FROM �����ƥ�ϥ��å��ǰϤޤ줿���֥��쥯��(��̾�礬���֥��쥯�Ȥˤ�ɬ�פʤ��Ȥ����դ��Ʋ�������)�Ǥ��äƤ⤫�ޤ��ޤ������ñ����䤤��碌��ʣ����٥�Υ��롼��ʬ�������㤷���ϥ����Ȥ�ͣ�����ˡ�ʤΤǡ����������ʵ�ǽ�Ǥ���
FROM �����ƥ�ϥơ��֥�ؿ��ˤ��뤳�Ȥ�Ǥ��ޤ� (�ɤΤ褦�ʴؿ��Ǥ�Ȥ��ޤ�����ʣ���ιԤ��������֤��ؿ�������Ū)�� �ؿ��ϡ�����ΰ����ͤˤ�äƸƤӽФ��졢���ν��Ϥϥơ��֥�ξ���Ʊ���褦�˥������ޤ���
���ˤ�äƤϡ��ƤӽФ������ˡ�ˤ�äưۤʤ��åȤ��֤���ơ��֥�ؿ���������Ƥ����������Ǥ��� �����Ԥ��ˤϡ������ǡ����� record ���֤��褦�ơ��֥�ؿ���������ޤ��� ���Τ褦�ʴؿ��� FROM �����ƥ�ǻ��Ѥ�����ϡ����δؿ��θ����̾�ޤ��ϥ������ AS ��ñ�Ȥǵ��Ҥ�������ˡ���̤ǰϤ����̾�ȥǡ������Ҥ��ޤ��� ����ˤ�ꡢ�䤤��碌��ʣ��ǡ������������ǽ�ˤʤ�ޤ��� ����ʣ��ǡ���������ϡ��ؿ�����ºݤ��֤����ʣ��ǡ������ȥޥå����Ƥ��ʤ���Фʤ�ޤ��ޥå����Ƥ��ʤ���С��¹Ի��˥��顼����𤵤�ޤ���
�Ǹ�ˡ�FROM �����ƥ����ĤΤ��ñ��� FROM �����ƥ���Ȥ߹����JOIN ��Ǥ��뤳�Ȥ⤢��ޤ���(�ͥ��Ȥν��֤����ɬ�פ������祫�å���Ȥ��ޤ���)
CROSS JOIN �⤷���� INNER JOIN ��ñ���ľ�Ѥǡ�FROM �κǾ��٥�ˤ�����ĤΥ����ƥ��ꥹ�Ȥ���Τ�Ʊ����ΤǤ���CROSS JOIN �� INNER JOIN ON (TRUE) ��������������ǤϤɤιԤ�������ޤ������η�緿�ϵ��Ҿ���ص��Τ�������Ǥ��ꡢ�����ϲ��⤷�ʤ��Τ�ñ��� FROM �� WHERE �ϻȤ��ޤ���
LEFT OUTER JOIN �Ͼ��ˤ���ľ�Ѥ����Ƥι�(�Ĥޤꡢ���� ON �����Ϥ����Ƥ��Ȥ߹�蘆�줿��)�������� ON ������������¦�ιԤ�����ʤ���¦�Υơ��֥�γơ��ιԤΥ��ԡ����֤��ޤ��� ���κ�¦�ιԤϱ�¦�ιԤ� NULL �ͤ��������뤳�ȤǷ�礵�줿�ơ��֥�������˳�ĥ����ޤ��� �ɤιԤ��ޥå����Ƥ��뤫�����֡�JOIN ���Ȥ� ON �� USING ���Τߤ���θ����뤳�Ȥ����դ��Ƥ���������¾�� ON �� WHERE ���ϸ��Ŭ�Ѥ���ޤ���
�դˡ�RIGHT OUTER JOIN �����Ƥη�礵�줿�Ԥȡ����줾������ƤϤޤ��Τ��ʤ��ä���¦�ι�(��¦�� null �dz�ĥ����Ƥ��ޤ�)�˰�Ԥ��Ĥ��֤��ޤ������ȱ������Ϥ����촹���뤳�Ȥ� LEFT OUTER JOIN ���Ѵ����뤳�Ȥ�Ǥ��뤿�ᡢ����Ϥ����ε��Ҿ���ص��Ǥ�������ޤ���
FULL OUTER JOIN �����Ƥη�礵�줿�Ԥȡ����ƤϤޤ��Τ��ʤ��ä���¦�ι�(��¦�� null �dz�ĥ����Ƥ���)�ȡ����ƤϤޤ��Τ��ʤ��ä���¦�ι�(��¦�� null �dz�ĥ����Ƥ���)���֤��ޤ���
CROSS JOIN ��������Ƥ� JOIN ���Ǥϡ�ON join_condition,USING ( join_column_list ),�⤷���� NATURAL �Τɤ줫�����Τ˽ʤ���Ф����ޤ���ON �Ϥ�äȤ����Ū�ʾ��Ǥ�����礵���٤���ĤΥơ��֥�˴�Ϣ����ɤΤ褦�����Ǥ���Ȥ��Ǥ��ޤ��� USING ��ꥹ��( a, b, ... ) �� ON ���left_table.a = right_table.a AND left_table.b = right_table.b ...�δ�ά�С������Ǥ������� USING �ϡ�JOIN ���Ϥ˴ޤޤ�뤽�줾��Υڥ���Ʊ������Τ�����ξ���ǤϤʤ���Ĥ������ޤޤ�뤳�Ȥ��̣���ޤ���NATURAL �ϥơ��֥�Τʤ��λ����褦��̾����������Ƥ����� USING �ꥹ�Ȥδ�ά�С������Ǥ���
���ץ����� WHERE ���ΰ��̷��ϼ��Τ褦�ˤʤ�ޤ���
WHERE boolean_expr
boolean_expr �ϥ֡����ͤȤ���ɾ���Ǥ���ɽ���Ǥ���ФɤΤ褦���Ȥ߹�碌�Ǥ�����뤳�Ȥ��Ǥ��ޤ���¿���ξ�硢���Τ褦�ˤʤ�ޤ���
expr cond_op expr
�⤷����
log_op expr
�����ǡ�cond_op �ϡ� =, <, <=, >, >= or <> �Τ����줫��ALL,ANY,IN,LIKE�Τ褦�ʾ��黻�ҡ��⤷���ϡ����������������줿�黻�Ҥ�Ȥ뤳�Ȥ��Ǥ��ޤ��� �ޤ���log_op �� AND, OR, NOT �Τ����줫��Ȥ뤳�Ȥ��Ǥ��ޤ���SELECT �� WHERE ��郎 TRUE ���֤��ʤ����٤ƤιԤ�̵�뤷�ޤ���
GROUP BY �Ϥ��ζ�Υ��ץꥱ����������륰�롼�ײ����줿�ơ��֥����ꤷ�ޤ���
GROUP BY expression [, ...]
GROUP BY �ϡ����롼�ײ����줿���Ʊ���ͤ�ͭ�������Ƥ����줿�Ԥ��ĤιԤ˶Ž̤��ޤ����⤷����С�����ؿ��Ϥ��줾��Υ��롼�פ������ƤιԤ��ϤäƷ����졢���줾��Υ��롼�פ˸��̤��ͤ���ޤ�(GROUP BY �ʤ��ǤϽ�������Ƥ����줿�Ԥ��ϤäƷ������ñ����ͤ���ޤ�)��GROUP BY ��¸�ߤ����硢����ؿ���ʳ��Ǥ� SELECT ���ϼ������롼��ʬ������Ƥ��ʤ���Ȥ��뤳�Ȥ������ǤϤ���ޤ��� �ʤ��ʤ饰�롼�ײ�����Ƥ��ʤ���ˤϰ�İʾ���ֵѲ�ǽ���ͤ����뤫��Ǥ���
GROUP BY �����ƥ��������̾���⤷���Ͻ�����ν�����ֹ��̾��(SELECT ��)���⤷������������ͤ˷��������Ǥ�դμ�����ǽ�Ǥ��������Ƥʾ��ϡ�GROUP BY ̾�Ͻ�����̾�ǤϤʤ�������̾�Ȥ��Ʋ�ᤵ��ޤ���
���ץ����Ǥ��롢HAVING ���ϰ���Ū�˼��η����Ǥ���
HAVING boolean_expr
�����ǡ�boolean_expr �� WHERE ��ǻ��ꤹ���Τ�Ʊ��Ǥ���
HAVING �ˤ�ä�boolean_expr���������ʤ��Ԥ���������̤��饰�롼�ײ����줿�ơ��֥���뤳�Ȥ�ؼ����ޤ���HAVING �� WHERE �Ȥϰ㤤�ޤ���WHERE �ϸ��̤ιԤ� GROUP BY�Υ��ץꥱ�������������ɲᤷ�ޤ�����HAVING �� GROUP BY�ˤ�äƺ���륰�롼�Ԥ��ɲᤷ�ޤ���
boolean_expr �ǻ��Ȥ�������ϡ����Ȥ�����ؿ���Ǹ���ʤ��¤����Ƥ˥��롼�ײ�������Ȥ��ޤ���
ORDER BY expression [ ASC | DESC | USING operator ] [, ...]
ORDER BY �����ƥ��̾�����⤷���Ͻ�����(SELECT ��)�ν�����ֹ桢�⤷������������ͤ�����������Ǥ�դμ�����ꤹ�뤳�Ȥ��Ǥ��ޤ��������ޤ��ʾ��ϡ�ORDER BY �� ̾���Ͻ�����̾�Ȥ��Ʋ�ᤵ��ޤ���
������ֹ�ϡ���̤����(�����鱦�ؤ�)���֤ΰ��֤Ȥ��ޤ��� ���ε�ǽ�ϸ�ͭ��̾��������ʤ���˴�Ť������֤�������뤳�Ȥ��ǽ�ˤ��ޤ������줬���Ф�ɬ�פ��Ȥ������ǤϤ���ޤ��� �ʤ��ʤ� AS ���ȤäƷ�̤����̾����Ϳ���뤳�ȤϤ��ĤǤ��ǽ������Ǥ��� �㤨�в����Τ褦�ˤʤ�ޤ���
SELECT title, date_prod + 1 AS newlen FROM films ORDER BY newlen;
SELECT �η�̥ꥹ�Ȥ˸���ʤ��ե�����ɤ�ޤ�Ǥ�դμ�(SQL92 �γ�ĥ)�� ORDER BY ���뤳�Ȥ��ǽ�Ǥ����������äƲ�����ʸ�������Ǥ���
SELECT name FROM distributors ORDER BY code;
UNION�� INTERSECT�� �⤷���� EXCEPT �䤤��碌�η�̤�Ŭ�Ѥ��� ORDER BY ��Ǥϡ� ���ǤϤʤ��������̾�����ֹ�Τߤ����Ǥ���Τǡ����ε�ǽ�ϻȤ��ޤ���
�⤷ ORDER BY �����ƥब��̤���̾��������̾��ξ�������ƤϤޤ�ñ���̾�����ä���硢ORDER BY �Ϥ��������̾�Ȥ��Ʋ�ᤷ�ޤ�������� GROUP BY ��Ʊ�������ǹԤʤ�����ȤϵդǤ����������פ�ɸ�� SQL92 ���餯���ΤǤ���
���ץ����Ȥ��ơ�ORDER BY ��γ���̾�θ�˥������ DESC �ʹ߽�) �⤷���� ASC �ʾ���)���դ��뤳�Ȥ��Ǥ��ޤ��� ���꤬�ʤ���С��ǥե���Ȥ� ASC �ˤʤ�ޤ������������ν��ֱ黻�Ҥ�̾������ꤹ�뤳�Ȥ�Ǥ��ޤ��� ASC �� USING < ����������DESC �� USING > ���������Ǥ���
null �ͤϤ����ΰ����¾�Τ������ͤ���⤯�����Ȥ���ޤ��������ؤ���ȡ��������Υ����ȤǤ�null�ͤ������ˡ��������Υ����ȤǤ�null�ͤ���Ƭ�˸���ޤ���
ʸ���ǡ������Υǡ����ϡ��ǡ����١������饹���ν�����������ꤵ�줿�����������ξȹ��˽��äƥ����Ȥ���ޤ���
table_query UNION [ ALL ] table_query [ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ] [ LIMIT { count | ALL } ] [ OFFSET start ]
�����ǡ�table_query �ϡ�ORDER BY, LIMIT, �⤷���� FOR UPDATE �������ʤ�Ǥ�դ� select �������Ǥ��ޤ���(ORDER BY �� LIMIT �� select �����å��ǰϤޤ�Ƥ�����������դ��뤳�Ȥ��Ǥ��ޤ������å��ʤ��Ǥϡ������ζ�ϱ�¦�����ϼ��ǤϤʤ� UNION �η�̤�Ŭ�Ѥ����ΤȤ���Ƚ�Ǥ���ޤ���)
UNION �黻�Ҥϡ���Ϣ�����䤤��碌���֤��Ԥν���(�½���)������ޤ��� UNION ��ľ�ܤα黻���ܤ�ɽ�� 2 �Ĥ� SELECT ʸ��Ʊ�����������ʤ���Фʤ餺���б�������ϸߴ����Τ���ǡ������Ǥʤ���Фʤ�ޤ���
UNION �η�̤� ALL ���ץ�����ꤵ��ʤ��¤�ɤΤ褦�ʽ�ʣ�Ԥ�ޤߤޤ���ALL �Ͻ�ʣ�Ԥ������ޤ���
Ʊ�� SELECT ʸ�ˤ���ʣ���� UNION �黻�Ҥϡ����å����̤ν礬������ʤ��¤꺸���鱦��ɾ������ޤ���
���ΤȤ�����FOR UPDATE �� UNION �η�̤⤷���� UNION �������ͤΤɤ���ˤ���ꤹ�뤳�Ȥ��Ǥ��ޤ���
table_query INTERSECT [ ALL ] table_query [ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ] [ LIMIT { count | ALL } ] [ OFFSET start ]
�����ǡ�table_query �ϡ�ORDER BY, LIMIT, �⤷���� FOR UPDATE �������ʤ�Ǥ�դ� select �������Ǥ��ޤ���
INTERSECT �� UNION �Ȼ��Ƥ��ޤ������ɤ��餫�˸����ԤǤϤʤ�ξ�����䤤��碌���Ϥ˸����ԤΤߤ���Ȥ��������㤤�ޤ���
INTERSECT �η�̤� ALL ���ץ�����ꤵ��ʤ��¤�ɤΤ褦�ʽ�ʣ�Ԥ�ޤߤޤ���ALL �Ǥϡ� L �� m �ν�ʣ�������R �� n �ν�ʣ����ĹԤ� min(m,n) ��ޤ���
Ʊ�� SELECT ʸ�����ʣ���� INTERSECT �黻�Ҥϡ����å����̤λ��꤬�ʤ��¤꺸���鱦��ɾ������ޤ���INTERSECT �� UNION ��깹�˸Ǥ���ӤĤ��ޤ��� �Ĥޤ�A UNION B INTERSECT C �ϥ��å����̤λ��꤬�ʤ��¤� A UNION (B INTERSECT C) �Ȥ����ɤޤ�ޤ���
table_query EXCEPT [ ALL ] table_query [ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ] [ LIMIT { count | ALL } ] [ OFFSET start ]
�����ǡ�table_query �ϡ�ORDER BY, LIMIT, �⤷���� FOR UPDATE �������ʤ�Ǥ�դ� select �������Ǥ��ޤ���
EXCEPT �� UNION �Ȼ��Ƥ��ޤ��������䤤��碌�ν��ϤǤϤʤ����䤤��碌�ν��Ϥ˸����Ԥ���Ȥ������ǰ㤤�ޤ���
EXCEPT �η�̤� ALL ���ץ�����ꤵ��ʤ��¤�ɤΤ褦�ʽ�ʣ�Ԥ�ޤߤޤ���ALL �Ǥϡ�L �� m �ν�ʣ�����R �� n �ν�ʣ����ĹԤ� max(m-n,0) ��ޤ���
Ʊ�� SELECT ʸ�����ʣ���� EXCEPT �黻���ܤϡ����å�������ʳ�����ꤷ�ʤ��¤꺸���鱦��ɾ������ޤ���EXCEPT �� UNION ��Ʊ����٥�Ƿ�ӤĤ����ޤ���
LIMIT { count | ALL } OFFSET start
count ���֤����Ԥκ��������ꤷ��start �ϹԤ��֤��Ϥ�����������Ф��Ԥο�����ꤷ�ޤ���
LIMIT �Ϥ����䤤��碌����������Ԥΰ����Τߤ���������Ȥ��ǽ�ˤ��ޤ����⤷���¿���Ϳ������ȡ�����ʾ�ιԤ��֤���ޤ��⤷���ե��åȤ�Ϳ������ȡ��֤��Ԥ��Ϥޤ����ˤ�������ιԤ��ȤФ���ޤ���
LIMIT ��Ȥ����ϡ���̤ιԤ��դʽ��֤˶�������ORDER BY ���Ȥ��Τ��ɤ��ͤ��Ǥ����������ʤ��ȡ��䤤��碌�ιԤ�ͽ¬�Բ�ǽ�ʥ��֥��åȤ����뤳�Ȥˤʤ�ޤ��� 10 ���� 20 ���ܤޤǤ�Ф����Ȥ��Ƥ��뤫�⤷��ޤ����ɤν��֤� 10 ���� 20 ���ܤޤǤʤΤǤ��礦��?ORDER BY����ꤷ�ʤ��¤�ɤν��֤����狼��ʤ��ΤǤ���
PostgreSQL 7.0 ����ϡ��䤤��碌���ץƥ��ޥ������䤤��碌�ץ������������� LIMIT �� ��θ���ޤ��Τǡ�LIMIT �� OFFSET �˲�����Ѥ��뤫�ˤ�ä�(�ۤʤ�Ԥν��֤�����)�ۤʤä��ץ������뤳�Ȥˤʤ�Ǥ��礦���������äơ��䤤��碌�Ρ��ۤʤ륵�֥��åȤ����뤿��˰ۤʤ� LIMIT/OFFSET ���ͤ�Ȥ��ȡ�ORDER BY ��ͽ¬��ǽ�ʷ�̤������ʤ��¤ꡢ̷�⤷����̤��֤��ޤ�������ϥХ��ǤϤ���ޤ��� ����� SQL �� ORDER BY �ǽ��֤����椷�ʤ��¤��䤤��碌�η�̤�����ν��֤��֤����Ȥ���«���ʤ��Ȥ������¤��ܼ�Ū�ʷ�̤ʤΤǤ���
FOR UPDATE [ OF tablename [, ...] ]
FOR UPDATE ����Ѥ�����䤤��碌�ˤ�äƸ������줿�Ԥ������Ѥ˥��å�����ޤ��� ����ˤ�ꡢ���ԤΥȥ�������λ����ޤǤϤ����ιԤ�¾�Υȥ�������ˤ�ä��ѹ����줿�������줿�ꤹ�뤳�Ȥ��ʤ��ʤ�ޤ����Ĥޤꡢ���ԤΥȥ�������λ����ޤǤϡ�¾�Υȥ����������ιԤ��Ф��� UPDATE��DELETE���ޤ��� SELECT FOR UPDATE ���Ԥ��Ƥ���ݤ����ΤǤ��� �ޤ���¾�Υȥ�������� UPDATE��DELETE���ޤ��� SELECT FOR UPDATE �ˤ�ä�����Ƥ���Ԥ����å�����Ƥ������ SELECT FOR UPDATE ��¹Ԥ��褦�Ȥ���ȡ�SELECT FOR UPDATE �����Υȥ�������λ����Τ��Ԥ������θ幹�����줿�Ԥ���å������֤��ޤ� (�Ԥ�������줿�����֤��ޤ���)�� �ܺ٤ˤĤ��Ƥϡ��桼����������Ʊ���¹Ԥ˴ؤ���ϤȤ��Ƥ���������
FOR UPDATE �������Υơ��֥뤬���ꤵ��Ƥ�����ϡ����Υơ��֥� (ʣ���ξ��⤢��) �ιԤΤߤ����å����졢SELECT ���¾�Υơ��֥���̾�ɤ�����ɤ߹��ޤ������Ǥ���
FOR UPDATE �ϡ��֤����Ԥ��ޤޤ�Ƥ���ġ��Υơ��֥�����Τ˻���Ǥ��ʤ����ˤϻ��Ѥ��뤳�Ȥ��Ǥ��ޤ����㤨�С�����ˤϻ��ѤǤ��ޤ���
FOR UPDATE �ϡ��С������ 7.3 ������Υ��ץꥱ�������Ȥθߴ����Τ���� LIMIT �����˽��Ȥ��Ǥ��ޤ��� ���������ξ��Ǥ�ºݤˤ� 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 Une Femme est une Femme | 102 | Jean Luc Godard | 1961-03-12 | Romantic Vertigo | 103 | Paramount | 1958-11-14 | Action Becket | 103 | Paramount | 1964-02-03 | Drama 48 Hrs | 103 | Paramount | 1982-10-22 | Action War and Peace | 104 | Mosfilm | 1967-02-12 | Drama West Side Story | 105 | United Artists | 1961-01-03 | Musical Bananas | 105 | United Artists | 1971-07-13 | Comedy Yojimbo | 106 | Toho | 1961-06-16 | Drama There's a Girl in my Soup | 107 | Columbia | 1970-06-11 | Comedy Taxi Driver | 107 | Columbia | 1975-05-15 | Action Absence of Malice | 107 | Columbia | 1981-11-15 | Action Storia di una donna | 108 | Westward | 1970-08-15 | Romantic The King and I | 109 | 20th Century Fox | 1956-08-11 | Musical Das Boot | 110 | Bavaria Atelier | 1981-11-11 | Drama Bed Knobs and Broomsticks | 111 | Walt Disney | | Musical (17 rows)
���ƤαDz���� len ���פ� kind ��ˤ�äƷ�̤롼�ײ�����ˤϲ����Τ褦�ˤ��ޤ���
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 (5 rows)
���ƤαDz���� 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 (2 rows)
�ʲ�����Ĥ���ϸ��̤η�̤������ܤ��� (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 (13 rows)
������ϡ���̤줾��Υơ��֥�� W �ǻϤޤ��Τ��������¤��ơ��ɤΤ褦�˥ơ��֥� distributors �� actors �η���������뤫��ɽ���Ƥ��ޤ�������ιԤΤߤ�ɬ�פʤΤǡ�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
������ϡ��ơ��֥�ؿ��λ�����ˡ (������ꥹ�Ȥ�������Ȥʤ�����ξ��) ���Ƥ��ޤ���
distributors: did | name -----+-------------- 108 | Westward 111 | Walt Disney 112 | Warner Bros. ... 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 (1 row ) 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 (1 row )
PostgreSQL �Ǥ��䤤��碌��FROM ����ά�Ǥ��ޤ��� ����Ϥ�Ȥ� PostQUEL �䤤��碌����ε�ǽ����¸����Ƥ��뤳�Ȥˤ���ΤǤ��� ���Τ褦�ˤ���ñ��ʼ��η����ñ�˹Ԥ����Ȥ��Ǥ��ޤ���
SELECT 2+2; ?column? ---------- 4
¾�� SQL �ǡ����١����ϡ�select from ��Ԥʤ�����Υ��ߡ��ΰ�ԥơ��֥��Ȥ��ʳ��Ϥ����Ԥʤ����Ȥ��Ǥ��ʤ���Τ�����ޤ�������ۤ����ΤǤϤʤ�����ˡ�Ȥ��Ƥϰ�İʾ�Υơ��֥뤫��select ���뤳�ȤΤ褦�˾�ά���ƽ��Ȥ��Ǥ��ޤ���
SELECT distributors.* WHERE distributors.name = 'Westward'; did | name -----+---------- 108 | Westward
����ϰ��ۤ� FROM �����ƥब���䤤��碌�ǻ��Ȥ���뤱��ɤ� FROM �Ǥϵ��Ҥ���ʤ����줾��Υơ��֥���ɲä����Τǡ�ư��ޤ�������������ʾ�ά���Ǥ������ְ�äƻȤ��䤹���Ǥ��� �㤨�С������䤤��碌
SELECT distributors.* FROM distributors d;
�Ϥ����餯�ְ㤤�Ǥ��� �桼����
SELECT d.* FROM distributors d;
���̣���Ƥ��ơ��ºݤ������벼���Τ褦������Τʤ����
SELECT distributors.* FROM distributors d, distributors distributors;
���̣���Ƥ����櫓�ǤϤʤ��Ǥ��礦�����Τ褦�ʴְ㤤��ȯ��������뤿��� PostgreSQL 7.1 �Ȥ���ʹߤǤϡ��⤷���ۤ� FROM ��ǽ������Ū�� FROM �������䤤��碌�ǻȤ�����ٹ��Ф��ޤ���
�ơ��֥�ؿ���ǽ�ϡ�PostgreSQL �γ�ĥ�Ǥ���
SQL92 ɸ��Ǥϡ����ץ����Υ������AS �Ϥ����ΥΥ����ʤΤǡ���̣�˱ƶ����뤳�Ȥʤ���ά���뤳�Ȥ���ǽ�Ǥ���PostgreSQL�ѡ����Ͻ������̾�����ѹ�����ݤˤ��Υ�����ɤ��ᤷ�ޤ��� �ʤ��ʤ鷿�γ�ĥ��ǽ��ͤ���Ȥ��Υ���ƥ����ȤǤϹ�ʸ���Ϥ������Ƥ��ˤĤʤ��뤫��Ǥ�����������FROM �����ƥ�Ǥ�AS �ϥ��ץ����Ǥ���
DISTINCT ON ʸ�� SQL92 �ΰ����ǤϤ���ޤ���LIMIT �� OFFSET �⤽���Ǥ���
SQL92 �Ǥ� ORDER BY ��Ϸ�̤���̾�����֤ο��Τߤ�Ȥ����Ȥ��Ǥ���GROUP BY ���������̾�Τߤ�Ȥ����Ȥ��Ǥ��ޤ���PostgreSQL �Ϥ����ζ� �����줾��¾�������ǧ���褦�˳�ĥ���ޤ�(�������⤷�����Ƥ����������ɸ��β���Ȥ��ޤ�)��PostgreSQL �Ϥɤ���ζ��Ǥ�դμ�����ꤹ��褦ǧ��Ƥ��ޤ������ǻȤ���̾���Ͼ�˷�̤���̾�ǤϤʤ�������̾�Ȥ��Ƹ��ʤ���뤳�Ȥ����դ��Ƥ���������