1. 程式人生 > >sql,with as ,in的配合使用

sql,with as ,in的配合使用

WITH AS的含義
1.WITH AS短語,也叫做子查詢部分(subquery factoring),可以讓你做很多事情,定義一個SQL片斷,該SQL片斷會被整個SQL語句所用到。有的時候,是為了讓SQL語句的可讀性更高些,也有可能是在UNION ALL的不同部分,作為提供資料的部分。
2.使用WITH AS 語句可以為一個子查詢語句塊定義一個名稱,使用這個子查詢名稱可以在查詢語句的很多地方引用這個子查詢

1.departments table schema

id
name

2.sales table schema

id
department_id (department foreign key)
name
price
card_name
card_number
transaction_date

WITH special_sales AS (
    SELECT
        *
    FROM
        sales
    WHERE
        price > 90
) 

SELECT
    id,
    NAME
FROM
    departments
WHERE
    id IN (
        SELECT
            department_id
        FROM
            special_sales
    )