Mastering Oracle SQL学习笔记(join句法专题第六部份)

joins 和子查询(subqueries
      举个例:
SELECT supplier_id, name
 
FROM supplier s
 
WHERE EXISTS (SELECT *
 
              FROM part p
 
              WHERE p.inventory_qty < 10
 
                AND p.supplier_id = s.supplier_id);
 
这个子查询与 SELECT 指令是有关联的,这个查询将会遍历 supplier 表的所有行,如果在 inventory_qty part 表的 supplier_id 列上没有索引将会导致多重的查询,也就是 part 表会全表搜索。不过可以重写这个查询用一个 join, 例:
SELECT s.supplier_id, s.name
 
FROM supplier s JOIN part p
 
ON p.supplier_id = s.supplier_id
 
WHERE p.inventory_qty < 10;
 

你可能感兴趣的:(oracle,数据库,职场,休闲)