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��1�İʾ�Υơ��֥뤫��Ԥ��֤��ޤ��� SELECT �ΰ���Ū�ʽ����ϰʲ����̤�Ǥ���
FROM �ꥹ�Ȥˤ��������Ǥ�������ޤ��� (FROM �ꥹ�Ȥγ����Ǥϼ¥ơ��֥뤫���ۥơ��֥�Ǥ���) FROM �ꥹ�Ȥ�ʣ�������Ǥ����ꤵ�줿��硢�����ϥ�������礵��ޤ��� (��Ҥ� FROM �� �Ȥ��Ƥ���������)
WHERE �礬���ꤵ�줿��硢�����������ʤ��ԤϤ��٤ƽ��Ϥ����������ޤ��� (��Ҥ�WHERE �� �Ȥ��Ƥ���������)
GROUP BY �礬���ꤵ�줿��硢���Ϥϡ�1�İʾ���ͤ˰��פ���ԤΥ��롼�פ�ʬ�䤵��ޤ��� HAVING �礬���ꤵ�줿��硢���ꤷ�������������ʤ����롼�פϼ�������ޤ��� (��Ҥ� GROUP BY �� �� HAVING �� �Ȥ��Ƥ���������)
UNION��INTERSECT������ӡ�EXCEPT �黻�Ҥ���Ѥ���ȡ�ʣ����SELECTʸ�ν��Ϥ�1�Ĥη�̽���ˤޤȤ�뤳�Ȥ��Ǥ��ޤ��� UNION �黻�Ҥϡ�ξ�����뤤�������η�̽���ˤ���Ԥ٤��֤��ޤ��� INTERSECT �黻�Ҥ�ξ���η�̽���ˤ���Ԥ٤��֤��ޤ��� EXCEPT �黻�ҤϺǽ�η�̽���ˤ��ꡢ2���ܤη�̽���ˤʤ��Ԥ��֤��ޤ��� ALL �����ꤵ��ʤ��¤ꡢ�����3�ĤȤ⡢��ʣ����Ԥϼ�������ޤ��� (��Ҥ�UNION ����INTERSECT ��������ӡ�EXCEPT ���Ȥ��Ƥ���������)
�ºݤν��ϹԤϡ����줿�ƹԤ��Ф��ơ�SELECT���ϼ�����Ѥ��Ʒ����줿��ΤǤ��� (��Ҥ�SELECT �ꥹ���Ȥ��Ƥ���������)
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���оݤȤʤ륽�����ơ��֥��1�İʾ���ꤷ�ޤ��� ʣ���Υ����������ꤵ�줿��硢��̤Ϥ��٤ƤΥ�������ľ��(���������)�Ȥʤ�ޤ��� ���������̾��ľ�Ѥξ����ʰ���ʬ���֤��褦�����¤��뤿��������郎�դ��ä����ޤ���
FROM-������Ǥˤϰʲ������Ǥ��ޤ���
��¸�Υơ��֥�⤷���ϥӥ塼��̾���Ǥ�(����������̾�Ǥ��)�� ONLY�����ꤵ�줿��硢���Υơ��֥�Τߤ��������ޤ��� �⤷ ONLY �����ꤵ��ʤ���硢�ơ��֥��(�⤷�����)�����Ѿ����뤹�٤ƤΥơ��֥뤬�������ޤ��� �ҥơ��֥뤬�������뤳�Ȥ�ɽ������ˡ��ơ��֥�̾�� * ���դ��뤳�Ȥ��Ǥ��ޤ��������ߤΥС������Ǥϡ��ҥơ��֥�Υ������ϥǥե���ȤǹԤ��ޤ��� (7.1 ������Υ����Ǥϡ�ONLY ���ǥե���ȤǤ�����) �ǥե���Ȥο������ѹ�����ˤϡ�sql_inheritance ���ꥪ�ץ������ѹ����ޤ��� (����:��ʸ��sql_interitance��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, ON join_condition���⤷���ϡ�USING (join_column [, ...])�Τ����줫��1�ĤΤ��ꤹ��ɬ�פ�����ޤ��� ��̣�ϸ���������ޤ��� CROSS JOIN �Ǥϡ������ζ�Ҥ��ʤ��Ƥ���ޤ���
JOIN ��ϡ�2�Ĥ�FROM �����ƥ���ӤĤ��ޤ��� ����Ҥν��֤���뤿��ˡ�ɬ�פʤ�г�̤���Ѥ��Ƥ��������� ��̤�̵���ȡ�JOIN �Ϻ����鱦�ؤ�����Ҥˤ���ޤ��� �ɤΤ褦�ʾ��Ǥ�JOIN�ϡ�����ޤ�ʬ����줿FROM ���ܤ��������դ��ޤ���
CROSS JOIN �� INNER JOIN �ϡ�FROM �κǾ�̤�2�Ĥι��ܤ��դ�����̤�Ʊ��Ρ�1�Ĥ�ľ�Ѥ��������ޤ��� ��������(�⤷�����)���������¤��뤳�Ȥ��Ǥ��ޤ��� CROSS JOIN �� INNER JOIN ON (true)�������Ǥ��ꡢ���ˤ�äƺ�������ԤϤ���ޤ��� �����η�緿�ϵ��Ҿ���ص��Τ�������Τ�ΤǤ������äơ��̾��FROM��WHERE��Ԥ�ʤ��Ȳ���Ԥ��ޤ���
LEFT OUTER JOIN �Ͼ��˹礦ľ�Ѥ����Ƥι�(�Ĥޤꡢ���η��������������Ƥ��Ȥ߹�蘆�줿��)�˲ä�����¦�ιԤ�����ʤ�����������������¦�Υơ��֥�γơ��ιԤΥ��ԡ����֤��ޤ��� ���κ�¦�ιԤϱ�¦�ιԤ� NULL �ͤ��������뤳�ȤǷ�礵�줿�ơ��֥�������˳�ĥ����ޤ��� �ɤιԤ��ޥå����Ƥ��뤫�����֡�JOIN �缫�Ȥξ��Τߤ���θ����뤳�Ȥ����դ��Ƥ��������� ¾�γ��������ϸ��Ŭ�Ѥ���ޤ���
�դˡ�RIGHT OUTER JOIN �����Ƥη�礵�줿�Ԥȡ����줾������ƤϤޤ��Τ��ʤ��ä���¦�ι�(��¦�� null �dz�ĥ����Ƥ��ޤ�)�˰�Ԥ��Ĥ��֤��ޤ��� ���ȱ������Ϥ����촹���뤳�Ȥ� LEFT OUTER JOIN ���Ѵ����뤳�Ȥ�Ǥ��뤿�ᡢ����Ϥ����ε��Ҿ���ص��Ǥ�������ޤ���
FULL OUTER JOIN �ϡ����٤Ƥη�礵�줿�ԡ����פ��ʤ��ä���¦�ι�(��¦��null�dz�ĥ��������)��1�Ԥ��ġ����ˡ����פ��ʤ��ä���¦�ι�(��¦��null�dz�ĥ��������)��1�Ԥ����֤��ޤ���
join_condition �ϡ����ˤ����ƤɤιԤ����פ����Ȥߤʤ����ɤ�������ꤹ��(WHERE��Ʊ��)boolean �����ͤ��֤����Ǥ���
USING ( a, b, ... ) ��� ON left_table.a = right_table.a AND left_table.b = right_table.b ...�ξ�ά���Ǥ��� USING �������Ȥʤ�����ȹ礻��ξ���ǤϤʤ������Τߤ����ν��Ϥ˴ޤޤ�뤳�Ȥ��̣���ޤ���
NATURAL �� 2 �ĤΥơ��֥����Ʊ��̾������Ĥ��٤Ƥ���ꤷ�� USING �ꥹ�Ȥξ�ά���Ǥ���
��ά��ǽ�� WHERE ����̾�ʲ��η����Ȥʤ�ޤ���
WHERE condition
�����ǡ�condition ��ɾ���η�� boolean �����֤�Ǥ�դμ��Ǥ��� ���ξ����������ʤ��ԤϤ��٤ƽ��Ϥ����������ޤ��� ���٤Ƥ��ѿ����Ȥ˼ºݤιԤ��ͤ������������˼��������֤����ˡ��ԤϾ����������ޤ���
��ά��ǽ�� GROUP BY ����̾�ʲ��η����Ȥʤ�ޤ���
GROUP BY expression [, ...]
GROUP BY �ϡ����롼�ײ�����Ʊ���ͤ�ͭ���뤹�٤ƤιԤ� 1�ĤιԤ˶Ž̤��ޤ��� expression �ϡ�������̾����������(SELECT �ꥹ�ȹ���)��̾���⤷���Ͻ������⤷���ϡ���������ͤ���������Ǥ�դμ����뤳�Ȥ��Ǥ��ޤ��� ۣ��ʾ�硢GROUP BY ��̾���Ͻ�����̾�ǤϤʤ�������̾�Ȥ��Ʋ�ᤵ��ޤ���
����ؿ����⤷���Ѥ���Ƥ���ȡ��ƥ��롼�פ��������뤹�٤ƤιԤ��Ф��Ʒ����졢���롼�����ʬ�����ͤ���������ޤ��� (����GROUP BY��̵�����ϡ�����ؿ��Ϥ��٤Ƥ����줿�Ԥ��Ф��Ʒ����졢1�Ĥ��ͤ��������ޤ���) GROUP BY ������ȡ�����ؿ������ʳ��ǥ��롼�ײ�����Ƥ��ʤ���Ȥ��� SELECT �ꥹ�Ȥ�̵���ˤʤ�ޤ��� ���롼�ײ�����Ƥ��ʤ���ˤĤ����֤�����ͤ�ʣ�����ͤˤʤäƤ��ޤ�����Ǥ���
��ά��ǽ�� HAVING ���̾�ʲ��η��ˤʤ�ޤ���
HAVING condition
������ condition �� WHERE ��ǻ��ꤹ���Τ�Ʊ���Ǥ���
HAVING �Ϥ��ξ����������ʤ����롼�ײ����줿�Ԥ�������ޤ��� HAVING �� WHERE �Ȥϰ㤤�ޤ��� WHERE �Ǥϡ�GROUP BY ��Ŭ�����ˡ����̤ιԤ��Ф��ƥե��륿��Ԥ���HAVING �� GROUP BY ���������줿���롼�ײ����줿�Ԥ��Ф��ƥե��륿��Ԥ��ޤ��� condition����Ȥϡ�����ؿ����ɽ��뻲�Ȥ������ۣ�椵��̵�����롼�ײ����줿��Ȥ��ʤ���Фʤ�ޤ���
UNION ���̾�ʲ��η����Ȥʤ�ޤ���
select_statement UNION [ ALL ] select_statement
select_statement �ϡ�ORDER BY��LIMIT��FOR UPDATE�������ʤ���Ǥ�դ�SELECTʸ�Ǥ��� (�⤷��̤dz���Ƥ����顢ORDER BY �� LIMIT ����������Ϳ�Ǥ��ޤ��� ��̤�̵���ȡ������ζ�ϱ�¦�����ϼ��ˤǤϤʤ���UNION�η�̤��Ф���Ŭ�Ѥ���Ƥ��ޤ��ޤ���)
UNION �黻�Ҥϡ��ƤӽФ��줿SELECTʸ���֤����Ԥ��½��������ޤ��� ���ʤ��Ȥ�ɤ��餫������ɽ���С����ιԤ�2�Ĥη�̥��åȤ��½�����ˤ���ޤ��� ľ�� UNION �α黻���ܤȤʤ� SELECT ʸ�ϡ�Ʊ��������֤��ʤ���Фʤ餺���ޤ����б�������Υǡ������ˤϸߴ�����ɬ�פǤ���
ALL ���ץ�����ꤵ��Ƥ��ʤ��ȡ�UNION �η�̤ˤϽ�ʣ�Ԥϴޤޤ�ޤ��� ALL �Ͻ�ʣ�����Ԥ��ޤ���
��Ĥ� SELECTʸ��ʣ����UNION �黻�Ҥ������硢��̤Ǽ�����ʤ��¤ꡢ����ɾ���Ϻ����鱦�˹Ԥ��ޤ���
�������Ǥϡ�FOR UPDATE �� UNION �η�̤��Ф��Ƥ⡢UNION�β��餫�����Ϥ��Ф��Ƥ���ꤹ�뤳�Ȥ��Ǥ��ޤ���
INTERSECT ���̾�ʲ��η����Ȥʤ�ޤ���
select_statement INTERSECT [ ALL ] select_statement
select_statement �ϡ�ORDER BY��LIMIT��FOR UPDATE ������ʤ���Ǥ�դ�SELECTʸ�Ǥ���
INTERSECT �ϡ��ƤӽФ����SELECTʸ���֤��Ԥ��ѽ��������ޤ��� ξ���η�̥��åȤ˸�����硢���ιԤ�2�Ĥη�̥��åȤ��ѽ������¸�ߤ��ޤ���
ALL���ץ�����ꤵ��Ƥ��ʤ��ȡ�INTERSECT �η�̤ˤϽ�ʣ�Ԥϴޤޤ�ޤ��� ALL �������硢��¦�ơ��֥��m�Ĥν�ʣ����¦�ơ��֥��n�Ĥν�ʣ������Ԥϡ���̥��åȤ�min(m,n)�� �и����ޤ���
��Ĥ� SELECTʸ��ʣ����INTERSECT �黻�Ҥ������硢��̤Ǽ�����ʤ��¤ꡢ����ɾ���Ϻ����鱦�˹Ԥ��ޤ��� INTERSECT ��UNION���������դ��Ǥ��� �ĤޤꡢA UNION B INTERSECT C ��A UNION (B INTERSECT C) �Ȳ�ᤵ��ޤ���
EXCEPT ���̾�ʲ��η����Ȥʤ�ޤ���
select_statement EXCEPT [ ALL ] select_statement
select_statement �ϡ�ORDER BY��LIMIT��FOR UPDATE �������ʤ���Ǥ�դ�SELECTʸ�Ǥ���
EXCEPT�ϡ���¦�� SELECT ʸ�η�̤�¸�ߤ�����¦�η�̤ˤ�¸�ߤ��ʤ��Ԥν��������ޤ���
ALL���ץ�����ꤵ��Ƥ��ʤ��ȡ�EXCEPT �η�̤ˤϽ�ʣ�Ԥϴޤޤ�ޤ��� ALL �������硢��¦�ơ��֥��m�Ĥν�ʣ����¦�ơ��֥��n�Ĥν�ʣ������Ԥϡ���̥��åȤ�max(m-n,0)�� �и����ޤ���
��Ĥ� SELECTʸ��ʣ����EXCEPT �黻�Ҥ������硢��̤Ǽ�����ʤ��¤ꡢ����ɾ���Ϻ����鱦�˹Ԥ��ޤ��� EXCEPT�η���դ��Υ�٥��UNION��Ʊ���Ǥ���
SELECT �ꥹ��(SELECT �� FROM �δ֤ˤ��륭�����)�ϡ�SELECT ʸ�ν��ϹԤ�������뼰����ꤷ����ΤǤ��� ���μ��Ǥϡ�FROM ����Ƿ����줿��Ȥ��뤳�Ȥ��Ǥ��ޤ�(�����ơ��̾�ϻ��Ȥ��ޤ�)�� AS output_name ����Ѥ��ơ�������Ȥ��̤�̾�������Ǥ��ޤ��� ����̾���ϼ��ɽ���Ѥ����٥�Ȥ��ƻȤ��ޤ��� �ޤ���ORDER BY �� GROUP BY ���������ͤȤ��뤿��ˤ���Ѥ���ޤ��� ��������WHERE �� HAVING��Ǥϻ��Ѥ��줺�������ˤϼ���ʤ���Фʤ�ޤ���
��������ˡ����줿�Ԥ����Ƥ����ɽ����ά���Ȥ��ơ����ϥꥹ�Ȥ� * �Ƚ��Ȥ��Ǥ��ޤ��� �ޤ������Υơ��֥�Τߤ�ͳ�褹�����ɽ����ά���Ȥ��ơ�table_name.*�Ƚ��Ȥ�Ǥ��ޤ���
��ά��ǽ�� ORDER BY����̾�ʲ��η����Ȥʤ�ޤ���
ORDER BY expression [ ASC | DESC | USING operator ] [, ...]
expression �ˤϡ�������(SELECT �ꥹ�ȹ���)��̾���⤷���Ͻ��������뤤�ϡ��������ͤ�����������Ǥ�դμ���Ȥ뤳�Ȥ��Ǥ��ޤ���
ORDER BY ��ˤ�ꡢ��̤ιԤ���ꤷ�����˽��äƥ����Ȥ��뤳�Ȥ��Ǥ��ޤ��� ��äȤ⺸�ˤ��뼰��2�ĤιԤ��������ʤä����ϡ����μ��˽������������������й��˼��μ��˿ʤߤޤ��� ���ꤷ���������Ƥ��������ʤä����ϡ������˰�¸�������֤��֤���ޤ���
�����Ȥϡ�������(�����鱦�ؤ�)����ΰ��֤Ǥ��� ���ε�ǽ�ˤ�ꡢ��դ�̾��������ʤ�����Ф��ƽ����������뤳�Ȥ��Ǥ��ޤ��� AS �����Ѥ���з�����̾���������Ƥ뤳�Ȥ��Ǥ��ޤ��Τǡ�����Ϸ褷��ɬ�פʤ�ΤǤϤ���ޤ���
�ޤ���ORDER BY ��ˤϡ�SELECT ��̥ꥹ�Ȥ˽и����ʤ����ޤࡢǤ�դμ�����ѤǤ��ޤ��� ���äơ��ʲ���ʸ��ͭ���ʤ�ΤǤ���
SELECT name FROM distributors ORDER BY code;
���ε�ǽ�����¤ϡ�UNION��INTERSECT��EXCEPT �η�̤� ORDER BY ��Ŭ�Ѥ�����ϡ�������ѤǤ������������̾���������Τߤ����Ǥ���Ȥ������Ǥ���
ORDER BY �����������̾��������̾��ξ���˰��פ���ñ�ʤ�̾���Ǥ��ä���硢ORDER BY�Ϸ����̾�Ȥ��Ƥ�����ޤ��� ����ϡ�Ʊ�������ˤ����� GROUP BY ������Ȥ�ȿ�ФǤ��� ɸ��SQL�Ȥθߴ����Τ��ᤳ�������礬ȯ�����Ƥ��ޤ���
��ά��ǽ�ʥ������ASC (����)��DESC (�߽�)��ORDER BY���Ǥ�դμ��θ���դ��ä��뤳�Ȥ��Ǥ��ޤ��� ���꤬�ʤ���С��ǥե���Ȥ�ASC���դ��Ƥ����ΤȤ��ư����ޤ��� ����ˡ�ˡ��������黻��̾��USING ��˻��ꤹ�뤳�Ȥ��Ǥ��ޤ��� �̾ASC �� USING < �ȡ�DESC �� USING > ��Ʊ���Ǥ��� (���������桼������Υǡ������κ�Ԥϡ��ǥե���ȤΥ����Ƚ礬������������������뤳�Ȥ��Ǥ����黻�Ҥ˰ۤʤ�̾�����б��Ť����뤳�Ȥ�Ǥ��ޤ���)
null�ͤ�¾���ͤ���⤤��ΤȤ��ƥ����Ȥ���ޤ��� �����ؤ���ȡ�����Υ����Ƚ�Ǥ�null�ͤϺǸ�ˡ��߽�Υ����Ƚ�Ǥ�null�ͤϺǽ�˥����Ȥ���ޤ���
ʸ�����Υǡ����Ǥϡ��ǡ����١������饹���ν�������˷��ꤵ�������������ξȹ��˽��äƥ����Ȥ���ޤ���
LIMIT ���2�Ĥ���Ω�������礫�鹽������ޤ���
LIMIT { count | ALL } OFFSET start
count ���֤����Ԥκ��������ꤷ��������start �ϹԤ��֤��Ϥ���������Ф��Կ�����ꤷ�ޤ��� ξ���Ȥ���ꤵ�줿��硢 start�Ԥ����Ф��졢�������������count�Ԥ��֤���ޤ���
LIMIT ��Ȥ����ϡ���̤ιԤ��դʽ��֤˶������� ORDER BY ���Ȥ��Τ��ɤ��ͤ��Ǥ��� �������ʤ��ȡ��䤤��碌�ιԤ�ͽ¬�Բ�ǽ�ʥ��֥��åȤ����뤳�Ȥˤʤ�ޤ��� 10 ���� 20 ���ܤޤǤ�Ф����Ȥ��Ƥ��뤫�⤷��ޤ����ɤν��֤� 10 ���� 20 ���ܤޤǤʤΤǤ��礦��? ORDER BY ����ꤷ�ʤ��¤�ɤν��֤����狼��ʤ��ΤǤ���
�䤤��碌�ץ��ʤ��䤤��碌�ײ������������ LIMIT ���θ���ޤ��Τǡ�LIMIT �� OFFSET �˲�����Ѥ��뤫�ˤ�ä�(�ۤʤ�Ԥν��֤�����)�ۤʤä��ײ�����뤳�Ȥˤʤ�Ǥ��礦�� �������äơ��䤤��碌�Ρ��ۤʤ륵�֥��åȤ����뤿��˰ۤʤ� LIMIT/OFFSET ���ͤ�Ȥ��ȡ�ORDER BY ��ͽ¬��ǽ�ʷ�̤ν���������ʤ��¤ꡢ̷�⤷����̤��֤��ޤ��� ����ϥХ��ǤϤ���ޤ��� ����� SQL �� ORDER BY �ǽ��֤����椷�ʤ��¤��䤤��碌�η�̤�����ν��֤��֤����Ȥ���«���ʤ��Ȥ������¤��ܼ�Ū�ʷ�̤ʤΤǤ���
DISTINCT�����ꤵ���ȡ���ʣ����Ԥ����Ʒ�̥��åȤ���������ޤ��� (�ƽ�ʣ�Ԥ����1�ԤΤߤ��ݻ�����ޤ���) ALL �Ϥ���ȿ�ФΤ��Ȥ���ꤷ�����ƤιԤ��ݻ�����ޤ������줬�ǥե���ȤǤ���
DISTINCT ON ( expression [, ...] ) �ϳƹԽ�������Ϳ����줿������������ɾ���������ǽ�ιԤΤߤ��ݻ����ޤ��� DISTINCT ON ���ϡ�(��Ҥ�)ORDER BY ��Ʊ����§�ǰ����ޤ��� �ƽ����"�ǽ�ι�"�ϡ�ORDER BY ����Ѥ�����Ū�ιԤ��ǽ�˸���뤳�Ȥ��ݾڤ��ʤ��¤�ͽ¬���뤳�ȤϤǤ��ޤ��� �㤨�С�
SELECT DISTINCT ON (location) location, time, report FROM weather_reports ORDER BY location, time DESC;
�ϡ��������κǿ��ε��ݾ������Ф��ޤ��� ��������ORDER BY ����Ѥ��Ƴ������λ����ͤ�߽�˶������ʤ��ä��Ȥ����顢��������ͽ¬�Ǥ��ʤ����֤�ͽ������뤳�Ȥˤʤ�ޤ���
DISTINCT ON ����ORDER BY ���κǤ⺸¦�˰��פ��ʤ���Фʤ�ޤ��� ORDER BY ����̾��DISTINCT ON���롼�פ���Ǵ�˾����Ԥ�ͥ���̤���ꤹ�롢�ɲ�Ū�ʼ���ޤߤޤ���
FOR UPDATE �ϰʲ��η����Ȥʤ�ޤ���
FOR UPDATE [ OF table_name [, ...] ]
FOR UPDATE ����Ѥ�����䤤��碌�ˤ�äƸ������줿�Ԥ������Ѥ˥��å�����ޤ��� ����ˤ�ꡢ���ԤΥȥ�������λ����ޤǤϤ����ιԤ�¾�Υȥ�������ˤ�ä��ѹ����줿�������줿�ꤹ�뤳�Ȥ��ʤ��ʤ�ޤ��� �Ĥޤꡢ���ԤΥȥ�������λ����ޤǤϡ�¾�Υȥ����������ιԤ��Ф��� UPDATE��DELETE���ޤ��� SELECT FOR UPDATE ���Ԥ��Ƥ���ݤ����ΤǤ��� �ޤ���¾�Υȥ�������� UPDATE��DELETE���ޤ��� SELECT FOR UPDATE �ˤ�ä�����Ƥ���Ԥ����å�����Ƥ������ SELECT FOR UPDATE ��¹Ԥ��褦�Ȥ���ȡ�SELECT FOR UPDATE �Ϥ��Υȥ�������λ����Τ��Ԥ������θ幹�����줿�Ԥ���å������֤��ޤ� (�Ԥ�������줿�����֤��ޤ���)�� �ܺ٤ˤĤ��Ƥϡ���12���Ȥ��Ƥ���������
FOR UPDATE �������Υơ��֥뤬���ꤵ��Ƥ�����ϡ����Υơ��֥�ιԤΤߤ����å����졢SELECT ���¾�Υơ��֥���̾�ɤ�����ɤ߹��ޤ������Ǥ���
FOR UPDATE �ϡ��֤����Ԥ��б�����ġ��Υơ��֥�Ԥ����Τ˼��̤Ǥ��ʤ����ˤϻ��Ѥ��뤳�Ȥ��Ǥ��ޤ����㤨�С�����ˤϻ��ѤǤ��ޤ���
FOR UPDATE �ϡ��С������ 7.3 �������PostgreSQL�Ȥθߴ����Τ���� 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 ...
���Ƥα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
���ƤαDz���� len ���פ� kind ��ˤ�äƷ�̤롼�ײ�������פ� 5 ���֤�꾯�ʤ����롼�פι�פ�ɽ�����ޤ���
SELECT kind, sum(len) AS total FROM films GROUP BY kind HAVING sum(len) < interval '5 hours'; 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
������ϡ���̤줾��Υơ��֥�� 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
������ϡ�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 ����ά���뤳�Ȥ��Ǥ��ޤ��� �ʲ��Τ褦����ľ��ñ��ʼ��η�̤�������뤳�Ȥ��Ǥ��ޤ���
SELECT 2+2; ?column? ---------- 4
¾��SQL�ǡ����١����Ǥϡ��������ä�SELECT��Ԥ�����ˤϥ��ߡ���1�ԥơ��֥��Ȥ�ʤ���Фʤ�ޤ���
���Τ��Ϥ���ޤ������̤�SELECT����ơ��֥��ʤ����ʲ��Τ褦����ˡ������ޤ���
SELECT distributors.* WHERE distributors.name = 'Westward'; did | name -----+---------- 108 | Westward
����ϡ�SELECT�ǻ��Ȥ���뤱��ɤ� FROM �Ǥϵ��Ҥ���ʤ��ơ��֥뤬�����ۤ� FROM �����ƥ���ɲä����Τǡ�ư��ޤ���
����������ʾ�ά���Ǥ������ְ�äƻȤ��䤹���Ǥ��� �㤨�С����Υ��ޥ��
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 �Υѡ����Ͻ������̾�����ѹ�����ݤˤ��Υ�����ɤ�ɬ�פȤ��ޤ��� �ʤ��ʤ鷿�γ�ĥ��ǽ��ͤ���ȡ����Υ�����ɤ��ʤ��ȹ�ʸ���Ϥ������Ƥ��ˤĤʤ��뤫��Ǥ��� ��������FROM �����ƥ�Ǥ�AS�Ͼ�ά��ǽ�Ǥ���
SQL92�Ǥϡ�ORDER BY��ϡ���̤���̾�������Τߤ���Ѥ��뤳�Ȥ��Ǥ���GROUP BY ��ϡ�������̾����ʤ뼰�Τߤ���ѤǤ��ޤ��� PostgreSQL �ϡ������ζ�Ǥ��줾��¾������Ʊ���褦�ˤǤ���褦�˳�ĥ���Ƥ��ޤ��� (�����������Ƥ����������ɸ��β����Ѥ���ޤ���) �ޤ���PostgreSQL�ǤϤɤ���ζ�ˤ�Ǥ�դμ������Ǥ��ޤ��� ���ǻȤ���̾���Ͼ�˷�����̾���ǤϤʤ��������̾���Ȥ��Ƥߤʤ���뤳�Ȥ����դ��Ƥ���������
SQL99�Ǥϡ�SQL92�Ȥξ�̸ߴ����������ʤ���¿���ۤʤä��������Ѥ��ޤ��� ���������ۤȤ�ɤξ�硢PostgreSQL��SQL99��Ʊ����ˡ��ORDER BY �� GROUP BY���ᤷ�ޤ���