Practice Question - Corelated Subquery

Duration: 7 min

This video lesson is available to enrolled students.

Enroll to watch — ISRO Scientist/Engineer 'SC'

AI Summary

An AI-generated summary of this video lecture.

This educational video analyzes a SQL practice problem centered on correlated subqueries and ranking logic. The core task involves determining which books are selected by a query that filters based on the count of other books with higher prices. The instructor systematically breaks down the problem statement, which defines a relation 'book' containing titles and prices. The primary SQL query selects the title from table B where a subquery counts rows in table T such that T.price is greater than B.price, with the condition that this count must be less than 5. The video emphasizes interpreting this logic as a ranking mechanism, effectively identifying books that are among the top five most expensive. Through manual tracing using sample data, the instructor demonstrates how correlated subqueries execute row-by-row, comparing each book's price against all others to calculate the count of more expensive items.

Chapters

  1. 0:00 2:00 00:00-02:00

    The video begins by presenting the SQL problem statement on screen, defining a relation 'book (title, price)' and asking what specific query lists. The instructor displays the SQL code: 'select title from book as B where (select count(*) from book as T where T.price > B.price) < 5'. Key visible events include the display of multiple-choice options A through D, with Option A suggesting 'Titles of the four most expensive books'. The instructor highlights the critical components of the query, specifically focusing on the inner subquery condition 'T.price > B.price' and the outer threshold '< 5'. This section establishes the foundational concept of using a correlated subquery to perform ranking without explicit ORDER BY clauses, setting the stage for logical analysis.

  2. 2:00 5:00 02:00-05:00

    The instructor transitions to manual verification by drawing a sample table with eight books labeled A through H and assigning specific prices (e.g., A=100, B=200, C=180). He traces the execution logic for each row in table B against all rows in table T. For a specific book like A with price 100, he counts how many other books have a higher price. The visual evidence shows handwritten tables labeled 'B' and 'T', where the instructor compares values to demonstrate that a book with price 100 has seven other books more expensive, failing the '< 5' condition. This step-by-step evaluation clarifies how the subquery correlates with the outer query's current row, ensuring students understand that 'count(*)' reflects the number of strictly more expensive items relative to the current book being evaluated.

  3. 5:00 6:48 05:00-06:48

    In the final segment, the instructor synthesizes the manual tracing results to identify the correct answer. He determines that only books with fewer than five other books more expensive satisfy the condition, which corresponds to the top five most expensive items. The on-screen text confirms the query structure 'where T.price > B.price' and the threshold '< 5'. By sorting the sample data (G=250, E=210, B=200, F=195, C=180), he shows that the fifth most expensive book (C) has exactly four books more expensive than it, satisfying 'count < 5'. Conversely, the sixth most expensive book (H=170) has five books more expensive, failing the condition. The video concludes by reinforcing that this logic selects the titles of the five most expensive books, distinguishing it from options suggesting 'four' or 'fifth most inexpensive'.

The video effectively teaches the mechanics of correlated subqueries by moving from abstract syntax to concrete execution. The key takeaway is that 'count(*) < 5' in a subquery comparing prices acts as a ranking filter, selecting items where fewer than five others exceed the current value. This logic inherently captures the top N most expensive records without sorting. The instructor's use of sample data with explicit price values (100, 200, etc.) provides a verifiable method for students to trace query behavior manually. This approach demystifies the 'correlated' nature of the subquery, showing that it re-evaluates for every row in the outer table. The distinction between 'four most expensive' and 'five most expensive' is clarified through the strict inequality '< 5', which includes exactly five items (those with counts 0, 1, 2, 3, and 4).