{"id":903,"date":"2026-02-12T12:01:04","date_gmt":"2026-02-12T12:01:04","guid":{"rendered":"https:\/\/forgefuse.wasmer.app\/?p=903"},"modified":"2026-02-12T14:07:13","modified_gmt":"2026-02-12T14:07:13","slug":"oracle-sql-certification-1z0-071-course-section-12-using-subqueries","status":"publish","type":"post","link":"https:\/\/www.forgefuse.net\/index.php\/oracle-sql-certification-1z0-071-course-section-12-using-subqueries\/","title":{"rendered":"Oracle SQL Certification 1Z0-071 Course | Section 12: Using Subqueries"},"content":{"rendered":"\n<p>Subqueries are one of the most important and exam-critical topics in Oracle SQL. They allow you to place a query inside another SQL statement, dramatically expanding what you can do with filtering, comparison, and data manipulation.<\/p>\n\n\n\n<p>A subquery may look simple, but it unlocks advanced logic such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Comparing rows against group averages<\/li>\n\n\n\n<li>Updating data based on calculated values<\/li>\n\n\n\n<li>Checking whether related records exist<\/li>\n\n\n\n<li>Structuring complex queries cleanly<\/li>\n<\/ul>\n\n\n\n<p>If you truly understand subqueries, your SQL skills jump to a completely different level.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\">What Are Subqueries?<\/h5>\n\n\n\n<p>A <strong>subquery<\/strong> is a query nested inside another SQL statement.<\/p>\n\n\n\n<p>You can use subqueries inside:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>SELECT<\/code><\/li>\n\n\n\n<li><code>FROM<\/code><\/li>\n\n\n\n<li><code>WHERE<\/code><\/li>\n\n\n\n<li><code>INSERT<\/code><\/li>\n\n\n\n<li><code>UPDATE<\/code><\/li>\n\n\n\n<li><code>DELETE<\/code><\/li>\n\n\n\n<li><code>MERGE<\/code><\/li>\n\n\n\n<li><code>CREATE TABLE<\/code><\/li>\n\n\n\n<li><code>CREATE VIEW<\/code><\/li>\n<\/ul>\n\n\n\n<h6 class=\"wp-block-heading\">Key Principle<\/h6>\n\n\n\n<p>Most subqueries should be able to run independently.<br>If you copy the subquery and execute it alone, it should work.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">Why Use Subqueries?<\/h6>\n\n\n\n<p>They allow you to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Build complex dynamic queries<\/li>\n\n\n\n<li>Move data between tables<\/li>\n\n\n\n<li>Create calculated comparisons<\/li>\n\n\n\n<li>Generate temporary result sets<\/li>\n\n\n\n<li>Simplify logical conditions<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h6 class=\"wp-block-heading\">Types of Subqueries<\/h6>\n\n\n\n<p>There are several main types:<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">\ud83d\udd39 Single-Row Subqueries<\/h6>\n\n\n\n<p>Return exactly one row.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">\ud83d\udd39 Multiple-Row Subqueries<\/h6>\n\n\n\n<p>Return multiple rows.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">\ud83d\udd39 Multiple-Column Subqueries<\/h6>\n\n\n\n<p>Return more than one column.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">\ud83d\udd39 Correlated Subqueries<\/h6>\n\n\n\n<p>Reference columns from the outer query.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">\ud83d\udd39 Scalar Subqueries<\/h6>\n\n\n\n<p>Return a single value (one row, one column).<\/p>\n\n\n\n<p>Understanding the difference between these types is critical for the exam.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"What are Subqueries - Oracle SQL Certification (1Z0-071) | Section 12, Video 1\" width=\"1290\" height=\"726\" src=\"https:\/\/www.youtube.com\/embed\/-YdVP9QRV8U?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\">Query Data Using Correlated Subqueries<\/h5>\n\n\n\n<p>Let\u2019s start simple.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">Example 1 \u2013 Employees earning more than the overall average:<\/h6>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT first_name, salary\nFROM employees\nWHERE salary &gt; (\n    SELECT AVG(salary)\n    FROM employees\n);\n<\/code><\/pre>\n\n\n\n<p>This works because the subquery returns <strong>one value<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h6 class=\"wp-block-heading\">Correlated Subqueries<\/h6>\n\n\n\n<p>Now we level up.<\/p>\n\n\n\n<p>Suppose we want to compare each employee\u2019s salary with the <strong>average salary for their job<\/strong>.<\/p>\n\n\n\n<p>Now the subquery must reference the outer query:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT e.first_name, e.salary\nFROM employees e\nWHERE e.salary &gt; (\n    SELECT AVG(salary)\n    FROM employees\n    WHERE job_id = e.job_id\n);\n<\/code><\/pre>\n\n\n\n<p>Here\u2019s what makes it correlated:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The subquery references <code>e.job_id<\/code><\/li>\n\n\n\n<li>It runs once for each row of the outer query<\/li>\n\n\n\n<li>Table aliases are mandatory<\/li>\n<\/ul>\n\n\n\n<h6 class=\"wp-block-heading\">Important<\/h6>\n\n\n\n<p>Correlated subqueries:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Execute repeatedly<\/li>\n\n\n\n<li>Can impact performance<\/li>\n\n\n\n<li>Depend on outer query values<\/li>\n<\/ul>\n\n\n\n<p>They are powerful but must be used carefully.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Query data using correlated subqueries - Oracle SQL Certification (1Z0-071) | Section 12, Video 2\" width=\"1290\" height=\"726\" src=\"https:\/\/www.youtube.com\/embed\/dRJ9Qghsj8k?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\">Updating Rows Using Correlated Subqueries<\/h5>\n\n\n\n<p>Subqueries are not limited to SELECT.<\/p>\n\n\n\n<p>You can use them inside UPDATE statements.<\/p>\n\n\n\n<p>Example: Increase salaries for employees earning below their job average.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>UPDATE employees e\nSET salary = salary * 1.1\nWHERE salary &lt; (\n    SELECT AVG(salary)\n    FROM employees\n    WHERE job_id = e.job_id\n);\n<\/code><\/pre>\n\n\n\n<h6 class=\"wp-block-heading\">Key Concepts<\/h6>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The subquery is correlated<\/li>\n\n\n\n<li>The WHERE clause prevents updating all rows<\/li>\n\n\n\n<li>Averages change after updates<\/li>\n\n\n\n<li>Same logic applies to DELETE<\/li>\n<\/ul>\n\n\n\n<p>\u26a0 Always test SELECT first before using UPDATE with correlated logic.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Update rows using correlated subqueries - Oracle SQL Certification (1Z0-071) | Section 12, Video 3\" width=\"1290\" height=\"726\" src=\"https:\/\/www.youtube.com\/embed\/sk02IsPlgc8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\">EXISTS and NOT EXISTS<\/h5>\n\n\n\n<p>The <code>EXISTS<\/code> operator checks whether a subquery returns rows.<\/p>\n\n\n\n<p>It does not compare values.<br>It returns TRUE or FALSE.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">Example \u2013 Employees who changed departments:<\/h6>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT e.employee_id\nFROM employees e\nWHERE EXISTS (\n    SELECT 1\n    FROM job_history j\n    WHERE j.employee_id = e.employee_id\n);\n<\/code><\/pre>\n\n\n\n<p>If at least one matching row exists \u2192 TRUE.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h6 class=\"wp-block-heading\">NOT EXISTS<\/h6>\n\n\n\n<p>Returns rows where no related record exists.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT e.employee_id\nFROM employees e\nWHERE NOT EXISTS (\n    SELECT 1\n    FROM job_history j\n    WHERE j.employee_id = e.employee_id\n);\n<\/code><\/pre>\n\n\n\n<h6 class=\"wp-block-heading\">Why EXISTS Is Powerful<\/h6>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Efficient for large datasets<\/li>\n\n\n\n<li>Stops searching once match is found<\/li>\n\n\n\n<li>Ideal for relational checks<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"EXISTS and NOT EXISTS operators - Oracle SQL Certification (1Z0-071) | Section 12, Video 4\" width=\"1290\" height=\"726\" src=\"https:\/\/www.youtube.com\/embed\/T326pSxJs68?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\">Using the WITH Clause <\/h5>\n\n\n\n<p>Instead of embedding a subquery inside FROM, you can define it first:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>WITH avg_salary AS (\n    SELECT job_id, AVG(salary) avg_sal\n    FROM employees\n    GROUP BY job_id\n)\nSELECT e.first_name, e.salary\nFROM employees e\nJOIN avg_salary a\nON e.job_id = a.job_id\nWHERE e.salary &gt; a.avg_sal;\n<\/code><\/pre>\n\n\n\n<h6 class=\"wp-block-heading\">Why Use WITH?<\/h6>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Improves readability<\/li>\n\n\n\n<li>Organizes complex queries<\/li>\n\n\n\n<li>Acts like a temporary inline view<\/li>\n\n\n\n<li>Does NOT create a permanent object<\/li>\n<\/ul>\n\n\n\n<p>These are extremely helpful in real-world SQL projects.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Using WITH Clause - Oracle SQL Certification (1Z0-071) | Section 12, Video 5\" width=\"1290\" height=\"726\" src=\"https:\/\/www.youtube.com\/embed\/bO7c2J3D3ak?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\">Single-Row Subqueries<\/h5>\n\n\n\n<p>A single-row subquery must return exactly one row.<\/p>\n\n\n\n<p>Valid operators:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>=<\/code><\/li>\n\n\n\n<li><code>&gt;<\/code><\/li>\n\n\n\n<li><code>&lt;<\/code><\/li>\n\n\n\n<li><code>&gt;=<\/code><\/li>\n\n\n\n<li><code>&lt;=<\/code><\/li>\n\n\n\n<li><code>&lt;&gt;<\/code><\/li>\n<\/ul>\n\n\n\n<h6 class=\"wp-block-heading\">What Happens If Multiple Rows Are Returned?<\/h6>\n\n\n\n<p>You get:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ORA-01427: single-row subquery returns more than one row\n<\/code><\/pre>\n\n\n\n<h6 class=\"wp-block-heading\">How to Guarantee One Row<\/h6>\n\n\n\n<p>Use aggregate functions:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT first_name\nFROM employees\nWHERE salary = (\n    SELECT MAX(salary)\n    FROM employees\n);\n<\/code><\/pre>\n\n\n\n<p>You can also use <code>ROWNUM<\/code>, but be cautious \u2014 it may produce unpredictable results without ORDER BY.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Single-Row Subqueries - Oracle SQL Certification (1Z0-071) | Section 12, Video 6\" width=\"1290\" height=\"726\" src=\"https:\/\/www.youtube.com\/embed\/NrclQqZmTl0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\">Multiple-Row Subqueries<\/h5>\n\n\n\n<p>If a subquery returns multiple rows, you cannot use <code>=<\/code>.<\/p>\n\n\n\n<p>This will fail:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>WHERE salary = (SELECT salary FROM employees WHERE job_id = 'IT_PROG');\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h6 class=\"wp-block-heading\">Correct Operators for Multiple Rows<\/h6>\n\n\n\n<h6 class=\"wp-block-heading\">\ud83d\udd39 IN<\/h6>\n\n\n\n<pre class=\"wp-block-code\"><code>WHERE salary IN (\n    SELECT salary\n    FROM employees\n    WHERE job_id = 'IT_PROG'\n);\n<\/code><\/pre>\n\n\n\n<p><code>IN<\/code> works like multiple OR comparisons.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h6 class=\"wp-block-heading\">\ud83d\udd39 ANY (or SOME)<\/h6>\n\n\n\n<pre class=\"wp-block-code\"><code>WHERE salary &gt; ANY (\n    SELECT salary\n    FROM employees\n    WHERE job_id = 'IT_PROG'\n);\n<\/code><\/pre>\n\n\n\n<p>TRUE if condition matches at least one value.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h6 class=\"wp-block-heading\">\ud83d\udd39 ALL<\/h6>\n\n\n\n<pre class=\"wp-block-code\"><code>WHERE salary &gt; ALL (\n    SELECT salary\n    FROM employees\n    WHERE job_id = 'IT_PROG'\n);\n<\/code><\/pre>\n\n\n\n<p>TRUE only if condition matches every value.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h6 class=\"wp-block-heading\">Difference Between ANY and ALL<\/h6>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Operator<\/th><th>Meaning<\/th><\/tr><\/thead><tbody><tr><td>ANY<\/td><td>At least one value matches<\/td><\/tr><tr><td>ALL<\/td><td>Must match every value<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Understanding this logic is heavily tested on the exam.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Multiple-Row Subqueries - Oracle SQL Certification (1Z0-071) | Section 12, Video 7\" width=\"1290\" height=\"726\" src=\"https:\/\/www.youtube.com\/embed\/JsxyyLJKnYs?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\">Exam-Critical Rules<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Subqueries can appear in many clauses.<\/li>\n\n\n\n<li>Single-row subqueries must return exactly one row.<\/li>\n\n\n\n<li>Multiple-row subqueries require IN, ANY, or ALL.<\/li>\n\n\n\n<li>Correlated subqueries reference outer query columns.<\/li>\n\n\n\n<li>EXISTS returns TRUE\/FALSE, not values.<\/li>\n\n\n\n<li>WITH improves readability but creates no object.<\/li>\n\n\n\n<li>Test SELECT before running UPDATE or DELETE with subqueries.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\">Final Thoughts<\/h5>\n\n\n\n<p>Subqueries are one of the most powerful features in SQL.<\/p>\n\n\n\n<p>They allow you to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Compare rows to dynamic calculations<\/li>\n\n\n\n<li>Modify data intelligently<\/li>\n\n\n\n<li>Build layered logic<\/li>\n\n\n\n<li>Write cleaner, more maintainable queries<\/li>\n<\/ul>\n\n\n\n<p>Now already involved in this SQL journey, you can subscribe to the YouTube channel and maybe subscribe to newsletter below?<\/p>\n\n\n\n<div class=\"wp-block-stackable-button-group stk-block-button-group stk-block stk-88daaaf\" data-block-id=\"88daaaf\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-button-group\">\n<div class=\"wp-block-stackable-button stk-block-button popmake-851 stk-block stk-0cfdac5 popmake-851\" data-block-id=\"0cfdac5\"><a class=\"stk-link stk-button stk--hover-effect-darken\" href=\"\"><span class=\"stk-button__inner-text\">Join ForgeFuse Newsletter<\/span><\/a><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Subqueries are one of the most important and exam-critical topics in Oracle SQL. They allow you to place a query inside another SQL statement, dramatically expanding what you can do with filtering, comparison, and data manipulation.<\/p>\n","protected":false},"author":1,"featured_media":904,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":12,"footnotes":""},"categories":[11],"tags":[7,13,12],"class_list":["post-903","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oracle-1z0-071-sql-course","tag-1z0-071","tag-certification","tag-sql"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/www.forgefuse.net\/index.php\/wp-json\/wp\/v2\/posts\/903","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.forgefuse.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.forgefuse.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.forgefuse.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.forgefuse.net\/index.php\/wp-json\/wp\/v2\/comments?post=903"}],"version-history":[{"count":0,"href":"https:\/\/www.forgefuse.net\/index.php\/wp-json\/wp\/v2\/posts\/903\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.forgefuse.net\/index.php\/wp-json\/wp\/v2\/media\/904"}],"wp:attachment":[{"href":"https:\/\/www.forgefuse.net\/index.php\/wp-json\/wp\/v2\/media?parent=903"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.forgefuse.net\/index.php\/wp-json\/wp\/v2\/categories?post=903"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.forgefuse.net\/index.php\/wp-json\/wp\/v2\/tags?post=903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}