Oracle12cにCOUNT関数とEXISTSを利用するサンプル

環境
Oracle Database 12c Standard Edition Release 12.2.0.1.0 – 64bit Production

書式

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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);

 

Oracle 12c

Posted by arkgame