Access
WHERE SAL IN (SELECT MIN(SAL)
FROM EMP
GROUP BY DEPTNO);
Pööra tähelepanu sellele, et GROUP BY klausel tingib selle, et alampäring tagastab mitu
rida (MIN() funktsiooni kasutatakse DEPTNO järgi grupeeritud gruppidele)
Reeglid alampäringutele:
*Alampäringus ei saa kasutada ORDER BY klauslit.
*Alampäringuid võib paigutada mitu tükki üksteise sisse (nested subqueries)
*Sisemine(alam)päring peab paiknema sulgudes WHERE klausli paremal pool.
*Kui sisemise päringu (inner query) valikulistis (selection list) on mitu veergu , siis
peavad need veerud olema reastatud samas järjekorras kui välise päringu WHERE
klauslis olevad veerud. Näiteks:
SELECT ENAME,SAL,DEPTNO
FROM EMP
WHERE (SAL,DEPTNO) IN (SELECT SAL, DEPTNO
FROM EMP
GROUP BY DEPTNO);
*ORDER BY klausel paikneb peamise SELECT-lause lõpus.
*Kõige enne täidetakse kõige sügavamal(most deeply nested) paiknevad alampäringud.
Alampäringud võivad:
*tagastada rohkem kui ühe kirje.
*tagastada rohkem kui ühe veeru.