توضیحات
Subquery به دستوری گفته میشود که درون دستور دیگر جای میگیرد. این دستورات میتوانند در قسمت Select ، From و یا where قرار گیرند.
مثال
• برای مثال یک query در قسمت where دستور آمده است.
SELECT * FROM all_tables tabs WHERE tabs.table_name IN (SELECT cols.table_name FROM all_tab_columns cols WHERE cols.column_name = 'SUPPLIER_ID');
• در مثال زیر یک query در قسمت From دستور آمده است.
SELECT suppliers.name, subquery1.total_amt FROM suppliers, (SELECT supplier_id, SUM(orders.amount) AS total_amt FROM orders GROUP BY supplier_id) subquery1 WHERE subquery1.supplier_id = suppliers.supplier_id;
• در مثال زیر یک دستور در قسمت Select دستور قبلی آمده است.
SELECT tbls.owner, tbls.table_name, (SELECT COUNT(column_name) AS total_columns FROM all_tab_columns cols WHERE cols.owner = tbls.owner AND cols.table_name = tbls.table_name) subquery2 FROM all_tables tbls;