SELECT *, OBJECT_NAME(qplan.objectid), SUBSTRING(sqltext.text,st.statement_start_offset/2 +1,CASE WHEN st.statement_end_offset = -1 THEN LEN(CONVERT(nvarchar(max), sqltext.text)) * 2 ELSE st.statement_end_offset end - st.statement_start_offset /2 ) AS query_text FROM sys.dm_exec_cached_plans cplans INNER JOIN sys.dm_exec_query_stats st ON st.plan_handle=cplans.plan_handle CROSS APPLY sys.dm_exec_text_query_plan (cplans.plan_handle,st.statement_start_offset,st.statement_end_offset) qplan CROSS APPLY sys.dm_exec_sql_text(st.sql_handle) sqltext
Script to get query plan from cache. It gets execution plan for particular sql statements.