Oracle12cにCOUNT関数とEXISTSを利用するサンプル
環境
Oracle Database 12c Standard Edition Release 12.2.0.1.0 – 64bit Production
書式
SELECT COUNT(列名) FROM テーブル名 WHERE EXISTS (SELECT文 副問合せ)
SELECT COUNT(列名) FROM テーブル名 WHERE EXISTS (SELECT文 副問合せ)
SELECT COUNT(列名) FROM テーブル名 WHERE EXISTS (SELECT文 副問合せ)
WHERE句の条件には、EXISTSや副問合せを使います。
使用例
USER_TBL表のレコードで、COMPANY_TBL表に該当するレコードが存在するレコードを対象として、SALARY列の行数を求めています。
SQL構文
SELECT
COUNT(DISTINCT SALARY)
FROM
USER_TBL UT
WHERE
EXISTS (SELECT
NAME
FROM
COMPANY_TBL CT
WHERE
UT.DEPID = CT.DEPID);
SELECT
COUNT(DISTINCT SALARY)
FROM
USER_TBL UT
WHERE
EXISTS (SELECT
NAME
FROM
COMPANY_TBL CT
WHERE
UT.DEPID = CT.DEPID);
SELECT COUNT(DISTINCT SALARY) FROM USER_TBL UT WHERE EXISTS (SELECT NAME FROM COMPANY_TBL CT WHERE UT.DEPID = CT.DEPID);