← Back to PostgreSQL Course | Chapter 8: Subqueries & CTEs | Lesson 1 of 7

Subquery की Basics

एक subquery एक query के अंदर एक query है, एक value, एक list, या एक table की तरह इस्तेमाल होती है।

In this page:

  1. Subquery Basics
Syntax
sql
SELECT columns
FROM table_name
WHERE column > (SELECT AVG(column) FROM other_table);

Subquery Basics

एक scalar subquery एक value return करता है, जैसे (SELECT AVG(price) FROM products)। IN में एक subquery एक list return करता है, और FROM में एक subquery एक temporary table की तरह act करता है (इसे एक alias चाहिए)।

Subqueries को अक्सर joins की तरह फिर से लिखा जा सकता है, और planner आमतौर पर दोनों को similarly optimise करता है।

Note: PostgreSQL में FROM में एक subquery का एक alias होना ज़रूरी है।

उदाहरण: Subquery basics

sql
CREATE TABLE products (id INTEGER PRIMARY KEY, name TEXT, price INTEGER);
INSERT INTO products VALUES (1,'Pen',3),(2,'Book',12),(3,'Lamp',45),(4,'Desk',150);
SELECT name, price FROM products WHERE price > (SELECT AVG(price) FROM products) ORDER BY price;
SELECT name FROM products WHERE price IN (SELECT MAX(price) FROM products);
SELECT AVG(price) AS avg_of_expensive FROM (SELECT price FROM products WHERE price > 10) AS expensive;

-- Output:
-- name | price
-- Desk | 150
-- name
-- Desk
-- avg_of_expensive
-- 69.0
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. कई rows return करने वाली Scalar subqueries
  2. एक FROM subquery पर alias missing होना
  3. जब एक join clearer हो deeply nest करना
चैप्टर सारांश
  • Scalar, list, और table subqueries
  • FROM subqueries को एक alias चाहिए
  • अक्सर joins के बराबर
  • एक scalar subquery को एक value return करनी चाहिए
🔒

Chapter Quiz — Complete all 7 topics to unlock

0/7 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.