WITH AS 子查詢部分【mysql5.7及以下不支持,mysql8.0及sqlserver支持】
子查詢部分的好處是部分查詢,不如有三個表連接在一條語句種出現多次
單個子查詢部分
with a as (select * from Student a inner join Course b ON a.Id=b.StudentId )select * from a 解析:這樣在此語句種每次查詢a都是查詢了student和course表的聯查集合
多個查詢部分語法
with a as (select * from Student), b as (select * from Course) select * from a inner join b on a.Id=b.StudentId 如果一整句查詢中多個子查詢都需要使用同一個子查詢的結果,那么就可以用with as,將共用的子查詢提取出來,加個別名。后面查詢語句可以直接用,對于大量復雜的SQL語句起到了很好的優化作用。