आप एक क्वेरी को CTE's (कॉमन टेबल एक्सप्रेशंस) के साथ एक नाम या उपनाम दे सकते हैं, उर्फ ओरेकल द्वारा सबक्वेरी फैक्टरिंग के रूप में क्लॉज उर्फ:
WITH abc as (select client_ref_id, request from some_table where message_type = 1)
select *
from abc
inner join
(select client_ref_id, response from some_table where message_type = 2) defg
on abc.client_ref_id = def.client_ref_id;