¾�ΥС�������ʸ�� �� 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

9.19. ���䤤��碌��

����Ǥ�PostgreSQL�ǻ��ѤǤ���SQL�������䤤��碌�ˤĤ����������ޤ�������ǵ��ܤ������Ƥμ��Ϸ�̤Ȥ��������͡ʿ�/���ˤ��֤��ޤ���

9.19.1. EXISTS

EXISTS (subquery)

EXISTS�ΰ����ϡ�Ǥ�դ�SELECTʸ�ޤ������䤤��碌�Ǥ������䤤��碌�Ϥ��줬���餫�ιԤ��֤����ݤ��η���Τ����ɾ������ޤ����⤷1�ĤǤ�Ԥ��֤��ΤǤ���С�EXISTS�η�̤�"true�ʿ���"�Ȥʤꡢ���䤤��碌���Ԥ��֤��ʤ���硢EXISTS�η�̤�"false�ʵ���"�Ȥʤ�ޤ���

���䤤��碌�ϡ����Ϥ�Ǥ����䤤��碌�����ѿ��򻲾Ȥ��뤳�Ȥ��Ǥ��������ͤ����䤤��碌��ɾ�����ˤ�����Ȥ��ư����ޤ���

�������䤤��碌���̾�Ǹ�ޤǼ¹Ԥ��줺�����ʤ��Ȥ⣱�ĤιԤ��֤��줿���ɤ�����Ƚ�ꤷ�����­�������ޤǼ¹Ԥ���ޤ����ºݤ������Ѥ������뤫�ݤ���ͽ�ۤ���Τ��񤷤��Τǡ��ʥ������󥹴ؿ���ƤӽФ��褦�ʡ˲��餫�������Ѥ�������䤤��碌�򵭽Ҥ��뤳�ȤϤ����ᤷ�ޤ���

��̤ϲ��餫�ιԤ��֤����Τ��Τߤ˰�¸���������ιԤ����Ƥˤϰ�¸���ʤ����Ȥ��顢���䤤��碌�ν��ϥꥹ�Ȥ��̾ﶽ̣�Τ����ΤǤϤ���ޤ��󡣤褯�Ȥ��륳���ǥ��󥰵���ϡ����Ƥ�EXISTS�ƥ��Ȥ�EXISTS(SELECT 1 WHERE ...)�Ȥ��ä������ǵ��Ҥ��뤳�ȤǤ����Ȥϸ��äƤ⡢INTERSECT��Ȥ����䤤��碌�Τ褦�ˤ��ε�§�ˤ��㳰������ޤ���

�ʲ��δ�ñ�����col2����������˻��Ƥ��ޤ��������������Ȥ�tab2�ιԤ�ʣ�����פ����Ȥ��Ƥ�tab1�Τ��줾��ιԤ��Ф��ƺ���£��Ĥν��ϹԤ��������ޤ���

SELECT col1 FROM tab1
    WHERE EXISTS(SELECT 1 FROM tab2 WHERE col2 = tab1.col2);

9.19.2. IN

expression IN (subquery)

���դϳ�̤dz��줿���䤤��碌�ǡ����Τˣ�����֤���ΤǤʤ���Фʤ�ޤ��󡣺��ռ���ɾ�����졢���䤤��碌�η�̹Ԥ���Ӥ���ޤ������䤤��碌�ιԤΤɤ줫����������硢IN�η�̤�"true�ʿ���"�Ǥ��������䤤��碌���Ԥ��֤��ʤ����̤ξ���ޤ���������Ԥ����Ĥ���ʤ���硢��̤�"false�ʵ���"�Ǥ���

���դμ���NULL���������硢�ޤ��ϱ��դ��ͤ���������Τ��ʤ��ƾ��ʤ��Ȥ�1�Ĥα��դιԤ�NULL����ľ�硢IN��ʸ�η�̤ϵ��ǤϤʤ�NULL�Ȥʤ뤳�Ȥ����դ��Ƥ�������������ϡ�NULL�ͤ�����Ū���Ȥ߹�碌���Ф���SQL��ɸ�൬§�˽�����ΤǤ���

EXISTS��Ʊ�͡����䤤��碌��������ɾ�����������󤷤ƤϤʤ�ޤ���

row_constructor IN (subquery)

IN�Τ��η����κ��դϡ�項4.2.11���������롢�ԤΥ��󥹥ȥ饯���Ǥ������դϳ�̤dz��줿���䤤��碌�ǡ����դιԤˤ��뼰�ο������Τ�Ʊ����������֤��ʤ���Фʤ�ޤ��󡣺��դμ������䤤��碌�η�̤Τ��줾��ιԤ��Ф����Ԥ˴ؤ���ɾ������Ӥ��Ԥ��ޤ������䤤��碌�ιԤ���������Τ����Ĥ��ä���硢IN �η�̤�"true�ʿ���"�Ȥʤ�ޤ��������䤤��碌���Ԥ��֤��ʤ����̤ξ���ޤ���������Ԥ����Ĥ���ʤ���硢��̤�"false�ʵ���"�Ǥ���

�Ԥˤ���NULL�ͤϤ��Ĥ�SQL����������ɸ�൬§�Ƿ�礵��ޤ������ĤιԤ��б��������Ƥι������Ǥ���NULL���������������������Ȥߤʤ���ޤ������ĤǤ��б����빽�����Ǥ���NULL�����������ʤ���Τ�����С����ĤιԤ��������ʤ��Ȥߤʤ���ޤ�������ʳ����ιԤ���ӷ�̤�������NULL�ˤǤ�������η�̤��٤Ƥ������⤷����NULL�ξ�硢���ʤ��Ȥ⣱�Ĥ�NULL������ȡ�IN�η�̤�NULL�Ȥʤ�ޤ���

9.19.3. NOT IN

expression NOT IN (subquery)

���դϳ�̤dz��줿���䤤��碌�ǡ����Τˣ��Ĥ�����֤��ʤ���Фʤ�ޤ��󡣺��դμ������䤤��碌��̤ιԤ��줾����Ф���ɾ������Ӥ���ޤ��������䤤��碌���Ԥ��֤��ʤ����̤ʾ���ޤ���������ʤ����䤤��碌�ιԤ���������ȡ�NOT IN�η�̤�"true�ʿ���"�Ǥ����������Ԥ�1�ĤǤ⤢��С���̤�"false�ʵ���"�Ǥ���

���դμ���NULL���������硢�ޤ��ϱ��դ��ͤ���������Τ��ʤ������ʤ��Ȥ⣱�Ĥα��դμ���NULL�����߽Ф���硢NOT IN��ʸ�η�̤Ͽ��ǤϤʤ�NULL�Ȥʤ뤳�Ȥ����դ��Ƥ��������� ����ϡ�NULL�ͤ�����Ū���Ȥ߹�碌���Ф���SQL��ɸ�൬§�˽�����ΤǤ���

EXISTS��Ʊ�͡����䤤��碌��������ɾ�����������󤷤ƤϤʤ�ޤ���

row_constructor NOT IN (subquery)

NOT IN�Τ��η����κ��դϡ�項4.2.11����������ԥ��󥹥ȥ饯���Ǥ������դϳ�̤dz��줿���䤤��碌�ǡ����դιԤˤ��뼰�ο������Τ�Ʊ����������֤��ʤ���Фʤ�ޤ��󡣺��դμ������䤤��碌�η�̤Τ��줾��ιԤ��Ф���ɾ������Ӥ��Ԥ��ޤ��������䤤��碌���Ԥ��֤��ʤ����̤ξ���ޤ�����䤤��碌�ιԤ������Τ�ΤΤߤ����Ĥ��ä���硢NOT IN�η�̤�"true�ʿ���"�Ȥʤ�ޤ����������Ԥ����ĤǤ⸫�Ĥ��ä���硢��̤�"false�ʵ���"�Ǥ���

�Ԥˤ���NULL�ͤϤ��Ĥ�SQL����������ɸ�൬§�Ƿ�礵��ޤ���2�ĤιԤ��б��������Ƥι������Ǥ���NULL���������������������Ȥߤʤ���ޤ������ĤǤ⹽�����Ǥ���NULL�����������ʤ���硢���ĤιԤ��������ʤ��Ȥߤʤ���ޤ�������ʳ����ιԤ���ӷ�̤�������NULL�ˤǤ�������η�̤��٤Ƥ������⤷����NULL�ξ�硢���ʤ��Ȥ�1�Ĥ�NULL������ȡ�NOT IN�η�̤�NULL�Ȥʤ�ޤ���

9.19.4. ANY/SOME

expression operator ANY (subquery)
expression operator SOME (subquery)

���դϳ�̤dz��줿���䤤��碌�ǡ����Τ�1�Ĥ�����֤��ʤ���Фʤ�ޤ��󡣺��դμ������䤤��碌�η�̹Ԥ��줾����Ф��ơ����ꤵ�줿operator����Ѥ���ɾ������Ӥ���ޤ����ʤ���operator�Ϸ�̤Ȥ��������ͤ���������ɬ�פ�����ޤ������η�̤����ĤǤ⤢��ȡ�ANY�η�̤�"true�ʿ���"�Ǥ��������䤤��碌���Ԥ��֤��ʤ����̤ʾ���ޤ�˿��η�̤��ʤ��ȡ���̤�"false�ʵ���"�Ǥ���

SOME��ANY��Ʊ����Ǥ���IN��= ANY�������Ǥ���

�������ʤ������դιԤ��黻�Ҥη�̤Ȥ��ƣ��ĤǤ�NULL������������硢ANY��ʸ�η�̤ϵ��ǤϤʤ�NULL�ˤʤ뤳�Ȥ����դ��Ƥ�������������ϡ�NULL�ͤ�����Ū���Ȥ߹�碌���Ф���SQL��ɸ�൬§�˽�����ΤǤ���

EXISTS��Ʊ�͡����䤤��碌��������ɾ�����������󤷤ƤϤʤ�ޤ���

row_constructor operator ANY (subquery)
row_constructor operator SOME (subquery)

ANY�Τ��η����κ��դϡ�項4.2.11����������Ƥ���ԥ��󥹥ȥ饯���Ǥ������դϳ�̤dz��줿���䤤��碌�ǡ����դιԤˤ��뼰�ο������Τ�Ʊ����������֤��ʤ���Фʤ�ޤ��󡣺��դμ������䤤��碌�η�̤Τ��줾��ιԤ��Ф���Ϳ����줿operator����Ѥ��ƹԤ˴ؤ���ɾ������Ӥ��Ԥ��ޤ�����Ӥη�̡����䤤��碌�Τ����ʤ�Ԥ��Ф��ƿ��Ȥʤ��硢ANY�η�̤�"true�ʿ���"�Ǥ�����Ӥη�̡����䤤��碌�����ƤιԤ��Ф��Ƶ��Ȥʤ�������䤤��碌���Ԥ��֤��ʤ��Ȥ����ü�ʾ���ޤ�ơˡ���̤�"false�ʵ���"�Ǥ�����Ӥη�̡������ʤ�ԤǤ⿿���֤��������ġ����ʤ��Ȥ⣱�ĤιԤ�NULL���֤���硢��̤�NULL�ˤʤ�ޤ���

See 項9.20.5 for details about the meaning of a row-wise comparison.

9.19.5. ALL

expression operator ALL (subquery)

���դϳ�̤dz��줿���䤤��碌�ǡ����Τˣ��Ĥ�����֤��ʤ���Фʤ�ޤ��󡣺��դμ������䤤��碌�η�̹Ԥ��줾����Ф��ơ����ꤵ�줿operator����Ѥ���ɾ������Ӥ���ޤ����ʤ���operator�Ϸ�̤Ȥ��������ͤ���������ɬ�פ�����ޤ��������䤤��碌���Ԥ��֤��ʤ����̤ʾ���ޤ�����ƤιԤ����ˤʤ��硢ALL�η�̤�"true�ʿ���"�Ǥ���1�ĤǤ⵶�η�̤�����ȡ���̤�"false�ʵ���"�Ǥ�����Ӥ����٤ƤιԤǵ����֤��������ġ����ʤ��Ȥ�1�ĤιԤ�NULL���֤�����硢��̤�NULL�Ȥʤ�ޤ���

NOT IN��<> ALL�������Ǥ���

EXISTS��Ʊ�͡����䤤��碌��������ɾ�����������󤷤ƤϤʤ�ޤ���

row_constructor operator ALL (subquery)

ALL�Τ��η����κ��դϡ�項4.2.11����������ԥ��󥹥ȥ饯���Ǥ������դϳ�̤dz��줿���䤤��碌�ǡ����դιԤˤ��뼰�ο������Τ�Ʊ����������֤��ʤ���Фʤ�ޤ��󡣺��դμ������䤤��碌�η�̤Τ��줾��ιԤ��Ф���Ϳ����줿operator����Ѥ��ƹԤ˴ؤ���ɾ������Ӥ��Ԥ��ޤ�����Ӥ�����̡����٤Ƥ����䤤��碌�Ԥ��Ф��ƿ����֤��������䤤��碌���Ԥ��֤��ʤ��Ȥ����ü�ʾ���ޤ�ơˡ�ALL�η�̤�"true�ʿ���"�Ȥʤ�ޤ�����Ӥ�����̡������줫�����䤤��碌�Ԥǵ����֤���硢���η�̤�"false�ʵ���"�Ȥʤ�ޤ�����ӷ�̤����٤Ƥ����䤤��碌�Ԥ��Ф��Ƶ����֤��������ʤ��Ȥ⣱�Ԥ�NULL���֤���硢��̤�NULL�Ȥʤ�ޤ���

�Ԥ˴ؤ�����Ӥΰ�̣�ˤĤ��Ƥ�項9.20.5�򻲾Ȥ��Ƥ���������

9.19.6. �Ԥ˴ؤ������

row_constructor operator (subquery)

���դϡ�項4.2.11����������Ƥ���ԥ��󥹥ȥ饯���Ǥ������դϳ�̤dz��줿���䤤��碌�ǡ����դιԤȤޤä���Ʊ����������֤��ʤ���Фʤ�ޤ��󡣤���ˡ����䤤��碌��ʣ���Ԥ��֤����ȤϤǤ��ޤ���ʹԤ�ޤä����֤��ʤ���硢��̤�NULL�Ȥߤʤ���ޤ��ˡ����դ����䤤��碌�η�̤�ñ��Ԥ��Ф������Τ�ɾ������Ӥ��Ԥ��ޤ���

�Ԥ˴ؤ�����Ӥΰ�̣�ˤĤ��Ƥξܺ٤�項9.20.5�򻲾Ȥ��Ƥ���������