CREATE TABLE college (cname CLOB, state CLOB, enr NUMBER)
CREATE TABLE player (pid NUMBER, pname CLOB, ycard CLOB, hs NUMBER)
CREATE TABLE tryout (pid NUMBER, cname CLOB, ppos CLOB, decision CLOB)

What is the count of states with college students playing in the mid position but not as goalies?
SELECT COUNT(*) FROM (SELECT T1.state FROM college AS T1 JOIN tryout AS T2 ON T1.cname = T2.cname WHERE T2.ppos = 'mid' EXCEPT SELECT T1.state FROM college AS T1 JOIN tryout AS T2 ON T1.cname = T2.cname WHERE T2.ppos = 'goalie')
WITH "cte" AS (SELECT "T1"."state" FROM "college" "T1" JOIN "tryout" "T2" ON "T1"."cname" = "T2"."cname" AND "T2"."ppos" = 'mid' EXCEPT SELECT "T1"."state" FROM "college" "T1" JOIN "tryout" "T2" ON "T1"."cname" = "T2"."cname" AND "T2"."ppos" = 'goalie') SELECT COUNT(*) FROM "cte" "cte"