近來學習oracle,想要提高自己所寫語句的效率和易讀性,今天的筆記是關於子查詢因子話這麼一個東西
因子化的查詢不一定可以提高效率,但是一定可以再提高程序的可讀性方面成效顯著
--with 語句 with sales_c ( select sales,e_NO,e_name from emplyee ) select * from sales_c; --查詢的結果就是( select sales,e_NO,e_name from emplyee)這張字表中的內容 --with一次聲明,在下面的例子中可以隨意的使用,提升了代碼的可讀性 --例如 with sales_c ( select sales,e_NO,e_name from emplyee ), name_c( select sales,e_name from sales_c ) select * from sales_c,name_c; --讀起來確實很方便
原理:oracle會把with query_name的這個query_name作為一個臨時表或者視圖固化下來,提升查詢的效率