¾�ΥС�������ʸ�� �� 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

4.2. ɾ����

ɾ�����ϡ��㤨��SELECT���ޥ�ɤ���Ū�ꥹ�ȤȤ��ơ�INSERT��UPDATE�ο���������ͤȤ��ơ��⤷���Ϥ����Ĥ��Υ��ޥ�ɤθ������Ȥ����͡���ʸ̮����ǻȤ��ޤ��� ɾ�����η�̤ϡ��ơ��֥뼰�η�̡ʤĤޤ�ơ��֥�ˤ�����̤��뤿��ˡ��������ȸƤФ�뤳�Ȥ⤢��ޤ��� �������äơ�ɾ�����������鼰�ʤޤ��Ϥ�äȴ�ñ�����ˤȤ�ƤФ�ޤ��� ���ι�ʸ�ˤ�äơ����ѡ�����������ʤɤα黻��Ԥ�����Ū����ʬ���ͤη׻���Ԥ����Ȥ��Ǥ��ޤ���

ɾ�����ϲ����Τ����Τ����줫�Ǥ���

����ʳ��ˤ⡢���Ȥ���ʬ�व��뤱��ɤ����Ū�ʹ�ʸ����ˤϽ���ʤ��������Ĥ��ι������Ǥ�����ޤ��� �����ϰ���Ū�˴ؿ����뤤�ϱ黻�Ҥΰ�̣������ޤ��� 第9章�γ�����ʬ����������Ƥ��ޤ��� ���󤲤��IS NULL�礬����ޤ���

項4.1.2�Ǵ�������ˤĤ��Ƥ��������ޤ����� ³����ǤϻĤ�Υ��ץ����ˤĤ����������ޤ���

4.2.1. ����

��ϡ������Τ褦�ʷ����ǻ��Ȥ��뤳�Ȥ��Ǥ��ޤ���

correlation.columnname

correlation�ϡ��ơ��֥�̾�ʥ������ޤǽ�������Ƥ�����⤢��ޤ��ˡ�FROM���������줿�ơ��֥����̾�����뤤��NEW�ޤ���OLD�Ȥ���������ɤǤ� ��NEW��OLD�Ͻ񤭴����롼��Ǥ������Ѥ���ޤ��󤬡�¾�����̾�����Ƥ�SQLʸ�ǻ��Ѥ��뤳�Ȥ��Ǥ��ޤ��ˡ� ���̾�ȶ��ڤ��ѤΥɥåȤϡ��⤷��̾�����ߤ��䤤��碌�ǻȤ������ƤΥơ��֥���̤��ư�դǤ�����Ͼ�ά���뤳�Ȥ��Ǥ��ޤ��� ��第7章�⻲�Ȥ��Ƥ��������ˡ�

4.2.2. ���֥ѥ�᡼��

���֥ѥ�᡼�����Ȥϡ���������SQLʸ���Ϥ�����ͤ򼨤�����˻��Ѥ���ޤ��� �ѥ�᡼����SQL�ؿ��������ӽ������줿�䤤��碌����ǻ��Ѥ���ޤ��� �ޤ������饤����ȥ饤�֥�����ˤϡ�SQL���ޥ��ʸ����ȥǡ����ͤ�ʬΥ���ƻ���Ǥ��뵡ǽ�򥵥ݡ��Ȥ����Τ⤢��ޤ��� ���ξ�硢�ѥ�᡼���ϹԳ��ǡ����ͤ򻲾Ȥ��뤿��˻��Ѥ���ޤ��� �ѥ�᡼�����Ȥη����ϰʲ����̤�Ǥ���

$number

�㤨�С��ؿ� dept ��������ʲ��Τ褦�ˤ��줿�Ȥ��ޤ���

CREATE FUNCTION dept(text) RETURNS dept
    AS $$ SELECT * FROM dept WHERE name = $1 $$
    LANGUAGE SQL;

������$1�ϴؿ����ƤӽФ������˺ǽ�δؿ��������ͤ򻲾Ȥ��ޤ���

4.2.3. �

������ͤ�Ϳ���뼰�ξ�硢������������Ǥ��ͤϰʲ��Τ褦�˵��Ҥ��뤳�Ȥ�Ÿ������ޤ���

expression[subscript]

�ޤ���ʣ�������Ǥ�ޤ������"����ΰ���ʬ"�˾��ϰʲ��Τ褦�˵��Ҥ��뤳�Ȥ�Ÿ������ޤ���

expression[lower_subscript:upper_subscript]

�ʤ���������[ ]�ϥ�ƥ��Ȥ��Ƹ���Ƥ��ޤ����� ��subscript�ϼ��Ȥ����Ǥ��ꡢ�����ͤ��������ʤ���Фʤ�ޤ���

����Ū�ˤϡ�����expression�ϳ�̤dz��ʤ���Фʤ�ޤ��󤬡�ź�����դ�������ñ�ʤ��󻲾Ȥ���֥ѥ�᡼���Ǥ��ä���硢���γ�̤��ά���뤳�Ȥ��Ǥ��ޤ��� �ʲ�����򼨤��ޤ���

mytable.arraycolumn[4]
mytable.two_d_column[17][34]
$1[10:42]
(arrayfunction(a,b))[42]

�Ǹ����Ǥϳ�̤�ɬ�פǤ��� ����ξܺ٤�項8.14�򻲾Ȥ��Ƥ���������

4.2.4. �ե����������

����ʣ�緿�ʹԷ��ˤ��ͤ����������硢�Ԥ�����Υե�����ɤϰʲ��Τ褦�˵��Ҥ��뤳�Ȥ�Ÿ���Ǥ��ޤ���

expression.fieldname

����Ū�ˤϡ���expression�ϳ�̤dz��ʤ���Фʤ�ޤ��� �����������򸵤Ȥʤ뼰��ñ�ʤ�ơ��֥뻲�Ȥ���֥ѥ�᡼���ξ�硢��̤��ά���뤳�Ȥ��Ǥ��ޤ��� �ʲ�����򼨤��ޤ���

mytable.mycolumn
$1.somecolumn
(rowfunction(a,b)).col3

�ʤ������äơ��������줿�󻲾ȤϼºݤΤȤ�����ñ�ʤ뤳�Υե����������ʸ���ü�ʾ��Ǥ�����

4.2.5. �黻�ҤθƤӽФ�

�黻�ҤθƤӽФ��ˤϰʲ���3��ʸ����ǽ�Ǥ���

expression operator expression ��������ֱ黻�ҡ�
operator expression ��ñ�����ֱ黻�ҡ�
expression operator ��ñ����ֱ黻�ҡ�

������operator�ȡ�����ϡ�項4.1.3��ʸ��§�˽�����Ρ��⤷���ϥ������AND��OR��NOT�Τ����줫���ޤ��ϰʲ��η����ν������줿�黻��̾�Ǥ���

OPERATOR(schema.operatorname)

����Ū�ˤɤ�ʱ黻�Ҥ�¸�ߤ������줬ñ�फ��फ���ɤ����ϡ������ƥ��桼���ˤ�äƤɤ�ʱ黻�Ҥ�������줿���˰�¸���ޤ��� 第9章�ˤơ��Ȥ߹��߱黻�ҤˤĤ����������ޤ���

4.2.6. �ؿ��ƤӽФ�

�ؿ��ƤӽФ��ι�ʸ�ϡ��ؿ�̾�ʥ�������̾�ǽ�������Ƥ����礬����ޤ��ˤ�³���Ƥ��ΰ������̤ǰϤ����󤷤���ΤǤ���

function ([expression [, expression ... ]] )

�㤨�С��ʲ��Τ�Τ�2��ʿ������׻����ޤ���

sqrt(2)

�Ȥ߹��ߴؿ��ΰ�����第9章�ˤ���ޤ��� ¾�δؿ��ϥ桼�����ɲäǤ��ޤ���

4.2.7. ����

�����ϡ��䤤��碌�ˤ�ä����򤵤��Ԥ��Ф��ƽ���ؿ���Ŭ�Ѥ���뤳�Ȥ��̣���ޤ��� ����ؿ��ϡ��㤨�����Ϥι�פ�ʿ�ѤʤɤΤ褦�ˡ�ʣ�������Ϥ�ñ��ν����ͤˤ��ޤ��� ���󼰤ι�ʸ�ϲ����Τ����Τ����줫�Ǥ���

aggregate_name (expression [ , ... ] )
aggregate_name (ALL expression [ , ... ] )
aggregate_name (DISTINCT expression [ , ... ] )
aggregate_name ( * )

�����ǡ�aggregate_name�ϻ�����������줿����ʥ�������̾�ǽ������줿���⤢��ޤ��ˤǡ�expression���ΤϽ��󼰤�ޤޤʤ�ɾ�����Ǥ���

���󼰤κǽ�ι�ʸ�ϡ����ꤵ�줿������NULL�ͤ��֤����Ϲ����ƤˤĤ��Ƥν��פ�ƤӽФ��ޤ� �ʼºݤˤ�NULL�ͤ�̵�뤹�뤫�ɤ����Ͻ���ؿ��ˤ�äưۤʤ�ޤ��������Ƥ�ɸ��Ū�ʽ���ؿ��Ǥ�̵�뤷�ޤ��ˡ� ALL�ϥǥե���ȤʤΤǡ�2���ܤη����Ϻǽ�η�����Ʊ���Ǥ��� 3���ܤη����ϡ����ϹԤ���ˤ��뼰�Ρ����Ƥν�ʣ���ʤ�����NULL�ͤν��פ�ƤӽФ��ޤ��� �Ǹ�η�����NULL�ͤ���NULL�ͤ��ˤ�����餺�����줾������ϹԤ��Ф���1�󤺤Ľ��פ�ƤӽФ��ޤ��� ����Ū�������ͤ����ꤵ��Ƥ��ʤ����ᡢ����ϰ���Ū��count(*)����ؿ��ǤΤ����Ω���ޤ���

�㤨�С�count(*)�����ϹԤι�׿�����ޤ��� count(f1)��f1����NULL�Ǥ������ϹԤο�����ޤ��� count(distinct f1)��f1�ν�ʣ���ʤ���NULL�ͤο�����ޤ���

����Ѥߤν���ؿ���項9.18����������Ƥ��ޤ��� �桼����¾�ν���ؿ����ɲä��뤳�Ȥ��Ǥ��ޤ���

���󼰤ϡ�SELECT���ޥ�ɤη�̥ꥹ�Ȥ⤷����HAVING����ǤΤߵ��Ҥ��뤳�Ȥ��Ǥ��ޤ��� WHERE�ʤɤ�¾�ζ�Ǥϵ�����ޤ��� �����ζ�������彸�׷�̤��������������ɾ������뤿��Ǥ���

���󼰤����䤤��碌��項4.2.9��項9.19�򻲾ȡ���˸��줿��硢�̾ク������䤤��碌�ι����Τ��Ф���ɾ�����ޤ��� �����������ν���ΰ�������̥�٥���ѿ��Τߤ���ľ����㳰�Ǥ��� ���ξ�硢����䤤��碌�ι����Τ��Ф���ɾ�����ޤ��� ���ΤȤ��ơ����ν��󼰤ϡ����θ塢���ν����ޤ����䤤��碌�Ǥϳ������ȤȤʤꡢ�������䤤��碌�ˤ�����ɾ�����Ф��Ƥ�����Ȥ���ư��ޤ��� ��̥ꥹ�Ȥ⤷����HAVING��ˤΤ߸����Ȥ�������ϡ����ν���°�����䤤��碌��٥�˴�Ϣ����Ŭ�Ѥ���ޤ���

注意: ����PostgreSQL�ϡ�1�İʾ�����ϼ������DISTINCT�򥵥ݡ��Ȥ��ޤ���

4.2.8. �����㥹��

�����㥹�Ȥϡ�����ǡ���������¾�Υǡ������ؤ��Ѵ�����ꤷ�ޤ��� PostgreSQL�Ϸ����㥹�Ȥ�2�Ĥ������ʹ�ʸ������դ��ޤ���

CAST ( expression AS type )
expression::type

CAST��ʸ��SQL�˽�򤷤���ΤǤ��� ::����Ѥ��빽ʸ�ϡ�PostgreSQL������Ū�˻��Ѥ���Ƥ�����ˡ�Ǥ���

���㥹�Ȥ����Τη���ɾ������Ŭ�Ѥ��줿��硢����ϼ¹Ի����Ѵ���ɽ���ޤ��� ���Υ��㥹�Ȥϡ�Ŭ�ڤʷ��Ѵ����������Ƥ�����Τ��������ޤ��� 項4.1.2.5�Ǽ����褦�ˡ����������Υ��㥹�Ȥλ��ѤȤ���̯�ʰ㤤�����դ��Ƥ��������� ��������Ƥ��ʤ�ʸ�����ƥ����Ф��륭�㥹�Ȥϡ���ƥ������ͤν���˳�����Ƥ��뷿��ɽ���ޤ��� �Ǥ����顢����ϡ�ʸ�����ƥ����������Ƥ����Υǡ����������Ϲ�ʸ�Ǽ����դ�����ΤǤ���С����Ƥη����������ޤ���

�̾���㤨�Хơ��֥���ؤ��������ʤɡˡ�ɾ�������������ʤ���Фʤ�ʤ�����ۣ�椵���ʤ���硢����Ū�ʷ����㥹�ȤϾ�ά���뤳�Ȥ��Ǥ��ޤ��� ���ξ�硢�����ƥ�ϼ�ưŪ�˷����㥹�Ȥ�Ŭ�Ѥ��ޤ��� ����������ư���㥹�Ȥϡ������ƥ५��������"����Ū��Ŭ�Ѥ��Ƥ�����ʤ�"�ȼ�����Ƥ�����ˤΤ߼¹Ԥ���ޤ��� ����¾�Υ��㥹�Ȥ�����Ū�ʥ��㥹�ȹ�ʸ�ǸƤӽФ�ɬ�פ�����ޤ��� �������¤ϡ��Τ�ʤ��������Ѵ����¹Ԥ���Ƥ��ޤ����Ȥ��ɤ�����Τ�ΤǤ���

�ޤ����ؿ��Τ褦�ʹ�ʸ����Ѥ��Ʒ����㥹�Ȥ���ꤹ�뤳�Ȥ�Ǥ��ޤ���

typename ( expression )

������������Ϥ��η���̾�����ؿ���̾���Ȥ��Ƥ�ͭ���ʾ��ˤΤ�ư��ޤ��� �㤨�С�double precision �Ϥ��������ǻ��ѤǤ��ޤ��󤬡�Ʊ����float8�ϻ��ѤǤ��ޤ��� �ޤ���interval��time��timestamp�Ȥ���̾���ϡ���ʸ�����ͤ��뤿�ᡢ��Ű�����dz�ä����ˤΤߤ��������ǻ��ѤǤ��ޤ��� ���Τ褦�ˡ����δؿ��Τ褦�ʥ��㥹�ȹ�ʸ�ϰ�������ʤ��ʤ꤬���Ǥ��Τǡ������餯�Ͽ��������ץꥱ�������Ǥϻ��Ѥ��٤��ǤϤ���ޤ���

注意: ���δؿ��Τ褦�ʹ�ʸ�ϡ��ºݤˤ�ñ�ʤ�ؿ��ƤӽФ��Ǥ��� 2�Ĥ�ɸ��Ū�ʥ��㥹�ȹ�ʸ�Τ�����1�Ĥ��¹Ի��Ѵ��ǻ��Ѥ����ȡ����ι�ʸ����Ͽ�Ѥߤδؿ�������Ū�˸ƤӽФ����Ѵ���¹Ԥ��ޤ��� ����Ū�ˡ��������Ѵ��ؿ��ϼ��Ȥν��Ϸ���Ʊ��̾�������������ˤ�ꡢ"�ؿ��Τ褦�ʹ�ʸ"���ظ�ˤ����Ѵ��Ѵؿ���ľ�ܸƤӽФ��ʾ�Τ��Ȥ�Ԥ��ޤ��� �ܿ�������ĥ��ץꥱ������󤬰�¸���٤���ΤǤʤ����Ȥ����ΤǤ��� �ܺ٤ˤĤ��Ƥ�CREATE CAST�򻲾Ȥ��Ƥ���������

4.2.9. ���������䤤��碌

���������䤤��碌�ϡ����Τ�1��1����֤����������̾��SELECT�䤤��碌�Ǥ� ���䤤��碌�ε�����ˡ�ˤĤ��Ƥ�第7章�򻲾Ȥ��Ƥ��������ˡ� ����SELECT�䤤��碌�ϼ¹Ԥ��졢�֤����ñ����ͤϤ����ͤ������ɾ�����ǻ��Ѥ���ޤ��� 1�Ԥ�Ķ����Ԥ�1���Ķ�����󤬥��������䤤��碌�Ѥ��䤤��碌�Ȥ��ƻ��Ѥ��줿���ϥ��顼�ˤʤ�ޤ� �ʤ�����������¹Ի��ˡ����䤤��碌���Ԥ��֤��ʤ����ϥ��顼�ȤϤʤ�ޤ��� ���Υ������̤�NULL�Ȥ��ư����ޤ��ˡ� ���䤤��碌�ϡ����μ�����䤤��碌����ͤ򻲾Ȥ��뤳�Ȥ��Ǥ��ޤ��� �����ͤ����䤤��碌��ɾ�����ˤ�����Ȥ��ư����ޤ��� ���䤤��碌�˴ؤ���¾�μ��ˤĤ��Ƥ�項9.19�⻲�Ȥ��Ƥ���������

�㤨�С��ʲ��ϳƽ��ǺǤ�͸���¿���ԻԤ򸡺����ޤ���

SELECT name, (SELECT max(pop) FROM cities WHERE cities.state = states.name)
    FROM states;

4.2.10. ���󥳥󥹥ȥ饯��

���󥳥󥹥ȥ饯���ϡ��������Ѥ��ͤ��������ͤ��ۤ��뼰�Ǥ��� ñ������󥳥󥹥ȥ饯���ι����ϡ�ARRAY������ɡ�������[���ʥ���ޤǶ��ڤä��������������Ѥ�1�İʾ�μ����Ǹ�˱�����]�Ǥ��� �ʲ�����򼨤��ޤ���

SELECT ARRAY[1,2,3+4];
  array
---------
 {1,2,7}
(1 row)

�������Ƿ��ϡ����м��η���Ʊ���ǡ�UNION��CASE��ʸ��Ʊ����§����Ѥ��Ʒ��ꤵ��ޤ� ��項10.5�򻲾Ȥ��Ƥ��������ˡ�

¿���������ͤϡ����󥳥󥹥ȥ饯��������Ҥˤ��뤳�Ȥǹ��ۤǤ��ޤ��� ��¦�Υ��󥹥ȥ饯���Ǥ�ARRAY������ɤϾ�ά��ǽ�Ǥ��� �㤨�С��ʲ���Ʊ����̤ˤʤ�ޤ���

SELECT ARRAY[ARRAY[1,2], ARRAY[3,4]];
     array
---------------
 {{1,2},{3,4}}
(1 row)

SELECT ARRAY[[1,2],[3,4]];
     array
---------------
 {{1,2},{3,4}}
(1 row)

¿��������ϻͳѷ�����Ǥʤ���Фʤ�ޤ���Τǡ�Ʊ���٥���������󥹥ȥ饯����Ʊ�켡������������������ʤ���Фʤ�ޤ���

¿�������󥳥󥹥ȥ饯�������Ǥϡ���ARRAY��ʸ�����Ǥʤ���Ŭ�ڤʼ������������������Τ�Ȥ뤳�Ȥ��Ǥ��ޤ��� �ʲ�����򼨤��ޤ���

CREATE TABLE arr(f1 int[], f2 int[]);

INSERT INTO arr VALUES (ARRAY[[1,2],[3,4]], ARRAY[[5,6],[7,8]]);

SELECT ARRAY[f1, f2, '{{9,10},{11,12}}'::int[]] FROM arr;
                     array
------------------------------------------------
 {{{1,2},{3,4}},{{5,6},{7,8}},{{9,10},{11,12}}}
(1 row)

�ޤ������䤤��碌�η�̤�������������뤳�Ȥ��ǽ�Ǥ��� ���η����ξ�硢���󥳥󥹥ȥ饯����ARRAY������ɤθ�˳�̡����̤ǤϤʤ��ˤdz��줿���䤤��碌�Ȥ��Ƶ��Ҥ���ޤ��� �ʲ�����򼨤��ޤ���

SELECT ARRAY(SELECT oid FROM pg_proc WHERE proname LIKE 'bytea%');
                          ?column?
-------------------------------------------------------------
 {2011,1954,1948,1952,1951,1244,1950,2005,1949,1953,2006,31}
(1 row)

���䤤��碌��ñ�������֤��ʤ���Фʤ�ޤ��� ���η�̤Ǥ���켡������ϡ����䤤��碌�ν�����Ȱ��פ��뷿�����Ƿ��Ȥ��������䤤��碌�η����γƹԤ����ǤȤ��ƻ����ޤ���

ARRAY�ǹ��ۤ��줿�����ͤ�ź���ϡ����1����Ϥޤ�ޤ��� ����ˤĤ��Ƥξܺ٤�項8.14�򻲾Ȥ��Ƥ���������

4.2.11. �ԥ��󥹥ȥ饯��

�ԥ��󥹥ȥ饯���ϡ����Υ��Хե�����ɤ��ͤ���Ѥ��ƹԤ��͡�ʣ���ͤȤ�ƤФ�ޤ��ˤ��ۤ��뼰�Ǥ��� �ԥ��󥹥ȥ饯���ϡ�ROW������ɡ�����̡��ԤΥե���������Ѥ�0�İʾ�μ��ʥ���޶��ڤ�ˡ��Ǹ�˱���̤���ʤ�ޤ��� �ʲ�����򼨤��ޤ���

SELECT ROW(1,2.5,'this is a test');

ROW������ɤϡ�1�İʾ�μ����ꥹ����ˤ�����Ͼ�ά���뤳�Ȥ��Ǥ��ޤ���

�ԥ��󥹥ȥ饯���ˤ�rowvalue.*��ʸ��ޤ�뤳�Ȥ��Ǥ��ޤ��� ����ϡ�SELECT�ꥹ�ȤκǾ�̥�٥��.*��ʸ�����Ѥ��줿���Ȥޤä���Ʊ�ͤˡ����ͤ����Ǥ�����Ÿ������ޤ��� ���Ȥ��С��ơ��֥�t��f1���f2�����ľ�硢�ʲ���Ʊ��Ǥ���

SELECT ROW(t.*, 42) FROM t;
SELECT ROW(t.f1, t.f2, 42) FROM t;

注意: PostgreSQL 8.2������Ǥϡ�.*��ʸ��Ÿ������ޤ���Ǥ����� ROW(t.*, 42)�ȵ��Ҥ���ȡ�1���ܤΥե�����ɤ��̤ι��ͤ���ġ�2�ĤΥե�����ɤ���ʤ�Ԥ���������ޤ����� �����Ƥ��ξ�硢������ư��Ϥ��Ȥ��䤹���ʤäƤ��ޤ��� ����Ҿ��ι��ͤȤ����Ť�ư�ɬ�פǤ���С�.*����Ѥ����ˡ����Ȥ���ROW(t, 42)�Ȥ��ä����������ͤ򵭽Ҥ��Ƥ���������

�ǥե���ȤǤϡ�ROW���ˤ�����������ͤ�ƿ̾�쥳���ɷ��ˤʤ�ޤ��� ɬ�פ˱����ơ�̾���դ���ʣ�緿���ơ��֥�ιԷ����⤷����CREATE TYPE AS�Ǻ������줿ʣ�緿�˥��㥹�Ȥ��뤳�Ȥ��Ǥ��ޤ��� ����Ū�ʥ��㥹�Ȥ�ۣ�������ɻߤ��뤿���ɬ�פȤʤ뤳�Ȥ⤢��ޤ��� �ʲ�����򼨤��ޤ���

CREATE TABLE mytable(f1 int, f2 float, f3 text);
CREATE FUNCTION getf1(mytable) RETURNS int AS 'SELECT $1.f1' LANGUAGE SQL;
-- getf1()��1�Ĥ���¸�ߤ��ʤ����ᥭ�㥹�����ס�
SELECT getf1(ROW(1,2.5,'this is a test'));
 getf1
-------
     1
(1 row)

CREATE TYPE myrowtype AS (f1 int, f2 text, f3 numeric);
CREATE FUNCTION getf1(myrowtype) RETURNS int AS 'SELECT $1.f1' LANGUAGE SQL;
-- �����Ǥϡ��ɤδؿ���ƤӽФ��Τ��򼨤�����˥��㥹�Ȥ�ɬ�ס�
SELECT getf1(ROW(1,2.5,'this is a test'));
ERROR:  function getf1(record) is not unique
SELECT getf1(ROW(1,2.5,'this is a test')::mytable);
 getf1
-------
     1
(1 row)

SELECT getf1(CAST(ROW(11,'this is a test',2.5) AS myrowtype));
 getf1
-------
    11
(1 row)

�ԥ��󥹥ȥ饯���ϡ�ʣ�緿�Υơ��֥���˳�Ǽ����ʣ�緿���ͤ��ۤ��뤿�ᡢ���뤤��ʣ�緿�Υѥ�᡼��������դ���ؿ����Ϥ�����˻��Ѥ��뤳�Ȥ��Ǥ��ޤ��� �ޤ����ʲ�����Τ褦�ˡ�2�Ĥι��ͤ���Ӥ��뤳�Ȥ⡢IS NULL�⤷����IS NOT NULL�ǹԤ򸡺����뤳�Ȥ��ǽ�Ǥ���

SELECT ROW(1,2.5,'this is a test') = ROW(1, 3, 'not the same');
SELECT ROW(table.*) IS NULL FROM table;  -- ���٤Ƥ�NULL�ιԤ򸡽Ф��ޤ���

�ܺ٤�項9.20�򻲾Ȥ��Ƥ��������� �ԥ��󥹥ȥ饯���ϡ�項9.19���������������䤤��碌�Ȱ��˻��Ѥ��뤳�Ȥ�Ǥ��ޤ���

4.2.12. ����ɾ����§

������ɾ���ν�����������Ƥ��ޤ��� �ä˱黻�Ҥ�ؿ������Ϥϡ�ɬ�����⺸���鱦�ʤɤη�ޤä������ɾ�������櫓�ǤϤ���ޤ���

����ˡ����μ��ΰ�����ɾ�����������Ǽ��η�̤�Ƚ�ǤǤ�����ˤϡ�¾���������ޤä���ɾ������ʤ����Ȥ⤢��ޤ��� �㤨�С�

SELECT true OR somefunc();

�Ǥϡ��ʤ����餯��somefunc()�ϸƤӽФ���ʤ��Ǥ��礦�� �ʲ��ξ���Ʊ�ͤǤ���

SELECT somefunc() OR true;

����ϰ����Υץ�����ߥ󥰸���˸����롢�֡��ꥢ��黻�ҤǤκ����鱦�ؤ�"���硼�ȥ������å�"�Ȥϰۤʤ뤳�Ȥ����դ��Ƥ���������

���Τ��ᡢ�������Ѥ�����ؿ���ʣ���ʼ��ΰ����Ȥ��ƻ��Ѥ��뤳�ȤϿ侩����ޤ��� �äˡ�WHERE�礪���HAVING����������Ѥ�ɾ����˰�¸����Τϴ����Ǥ��� �����ζ�ϡ��¹Էײ�����������������ˤ˺ƽ�������뤫��Ǥ��� �����ζ�Υ֡��뼰��AND/OR/NOT���Ȥ߹�碌�ˤϡ��֡�������ε�§�ǵ�����뤢���������Ǻ��������뤳�Ȥ��Ǥ��ޤ���

ɾ���ν���������뤳�Ȥ����פǤ���С�CASE��ʸ��項9.16�򻲾ȡˤ���ѤǤ��ޤ��� �㤨�С����μ���WHERE���0�������򤱤���ˡ�Ȥ��ƤϿ��������㤤��ΤǤ���

SELECT ... WHERE x > 0 AND y/x > 1.5;

�����������Τ褦�ˤ���а����Ǥ���

SELECT ... WHERE CASE WHEN x > 0 THEN y/x > 1.5 ELSE false END;

���Τ褦����ˡ�ǻ��Ѥ����CASE��ʸ�Ϻ�Ŭ����˸�����ΤʤΤǡ�ɬ�פʾ��ˤΤ߻��Ѥ��Ƥ������� ���äˡ�������Ǥϡ�y > 1.5*x������˵��Ҥ��뤳�Ȥ��������򤹤���ͥ�줿��ˡ�Ǥ����ˡ�