توضیحات

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;