WITH
mệnh đề giống như điều gần nhất với những gì bạn đang mô tả. Nhưng điều đó đòi hỏi bạn phải tạo dữ liệu bằng cách nào đó. Chọn từ DUAL
có thể là lựa chọn dễ dàng nhất
WITH my_temp_table AS (
SELECT 'One' name, 1 num from dual union all
SELECT 'Two', 2 from dual union all
SELECT 'Three', 3 from dual union all
SELECT 'Four', 4 from dual
)
SELECT *
FROM my_temp_table
JOIN person ON (<<some join condition>>)
WHERE <<some predicate>>
Vì bạn không muốn kết hợp một loạt các truy vấn, bạn có thể làm điều gì đó như
WITH my_temp_table AS (
select level num,
initcap( to_char( to_date( level, 'J' ),
'JSP' )) name
from dual
connect by level <= 4
)
...