Explorer
SQL

Find users who have at least one order using EXISTS.

Problem Statement

<p>Find <code>users</code> who have at least one order using EXISTS.</p>

Examples

Input: users table: +----+---------+ | id | name | +----+---------+ | 1 | Alice | | 2 | Bob | | 3 | Charlie | +----+---------+ orders table: +-----+---------+-------+ | id | user_id | total | +-----+---------+-------+ | 101 | 1 | 50 | | 102 | 1 | 75 | +-----+---------+-------+

Output: +----+-------+ | id | name | +----+-------+ | 1 | Alice | +----+-------+

Explanation: The query retrieves the requested records satisfying all problem requirements.

Complexity

Time Complexity: -

Space Complexity: -

Hints

šŸ’” Hint 1: Identify the filtering conditions needed to isolate the target rows from the table. šŸ’” Hint 2: Use appropriate operators: = for exact matches, LIKE for wildcard patterns, IN for sets, or BETWEEN for numeric/date ranges. šŸ’” Hint 3: Combine filters with AND/OR if multiple conditions exist: SELECT <cols> FROM <table> WHERE <condition>;

Editorial & Approach

Problem Overview & Intuition

To solve "EXISTS Subquery", we query the relational database engine using declarative SQL. The goal is to find users who have at least one order using exists. By formulating an optimal execution plan with appropriate projection and filtering, the database engine executes the query with minimal overhead.

Step-by-Step Approach

  1. Analyze Schema: Identify the target tables, necessary foreign keys, and expected output columns.
  2. Construct Filtering & Logic: Apply WHERE filtering to isolate the requested data.
  3. Format & Order: Ensure columns match the expected project schema in order.

Optimal Implementation (SQL)

SELECT * FROM users WHERE EXISTS (SELECT 1 FROM orders WHERE orders.user_id = users.id);

Complexity Analysis

Time Complexity O(N) full table scan or O(log N) if filtered column is indexed.
Space Complexity O(K) where K is the number of filtered rows returned.

Key Considerations & Edge Cases

  • Empty Tables: The query executes safely returning zero rows without syntax error.
  • NULL Values: Columns containing NULL values are properly handled by standard ANSI SQL semantics.
  • Case Sensitivity: String comparisons and keywords adhere to PostgreSQL/standard SQL rules.

EXISTS Subquery

Medium

Find users who have at least one order using EXISTS.

Example Scenarios
1Example 1
Input:
users table
idname
1Alice
2Bob
3Charlie
orders table
iduser_idtotal
101150
102175
Output:
idname
1Alice
Explanation:

The query retrieves the requested records satisfying all problem requirements.

SQL Editor
Loading Editor...
Query Results

Run a query to see results here.