Bird
0
0

You have tables users(id, name) and logins(user_id, login_time). Write a query to find users who never logged in and order them by name.

hard📝 Application Q8 of 15
SQL - LEFT and RIGHT JOIN
You have tables users(id, name) and logins(user_id, login_time). Write a query to find users who never logged in and order them by name.
ASELECT u.name FROM users u FULL JOIN logins l ON u.id = l.user_id WHERE l.user_id IS NOT NULL ORDER BY u.name;
BSELECT u.name FROM users u INNER JOIN logins l ON u.id = l.user_id WHERE l.user_id IS NULL ORDER BY u.name;
CSELECT u.name FROM users u RIGHT JOIN logins l ON u.id = l.user_id WHERE u.id IS NULL ORDER BY u.name;
DSELECT u.name FROM users u LEFT JOIN logins l ON u.id = l.user_id WHERE l.user_id IS NULL ORDER BY u.name;
Step-by-Step Solution
Solution:
  1. Step 1: Use LEFT JOIN to keep all users

    LEFT JOIN keeps all users and matches logins or NULL if none.
  2. Step 2: Filter users with no logins

    WHERE l.user_id IS NULL selects users who never logged in.
  3. Step 3: Order results by user name

    ORDER BY u.name sorts the output alphabetically.
  4. Final Answer:

    SELECT u.name FROM users u LEFT JOIN logins l ON u.id = l.user_id WHERE l.user_id IS NULL ORDER BY u.name; -> Option D
  5. Quick Check:

    LEFT JOIN + NULL filter + ORDER BY = unmatched users sorted [OK]
Quick Trick: LEFT JOIN + NULL filter + ORDER BY finds and sorts unmatched rows [OK]
Common Mistakes:
MISTAKES
  • Using INNER JOIN which excludes unmatched users
  • Filtering on wrong table's NULL
  • Missing ORDER BY clause

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes