Posts

Showing posts with the label TABLES

Write a SQL query to delete all duplicate email entries in a table named Person, keeping only unique emails based on its smallest Id.

This one is little tricky problem. I tried to use subquery approach to solve this problem.   +----+------------------+ | Id | Email | +----+------------------+ | 1 | john@example.com | | 2 | bob@example.com | | 3 | john@example.com | +----+------------------+ Id is the primary key column for this table. For example, after running your query, the above  Person  table should have the following rows: +----+------------------+ | Id | Email | +----+------------------+ | 1 | john@example.com | | 2 | bob@example.com | +----+------------------+ Note: Your output is the whole  Person  table after executing your sql. Use  delete  statement. Solution: DELETE FROM Person WHERE Id NOT IN ( SELECT p . id FROM ( SELECT MIN (Id) as id FROM Person GROUP BY Email) as p);

Combine Tables. [Leetcode Problem]

  1. Combine Tables. [Leetcode problem]  T able:   Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | +-------------+---------+ PersonId is the primary key column for this table. Table:  Address +-------------+---------+ | Column Name | Type | +-------------+---------+ | AddressId | int | | PersonId | int | | City | varchar | | State | varchar | +-------------+---------+ AddressId is the primary key column for this table.   Write a SQL query for a report that provides the following information for each person in the Person table, regardless if there is an address for each of those people: FirstName, LastName, City, State Ref: https://leetcode.com/problems/combine-two-tables/  Solution:   A common mistake would be to use INNER JOIN and not LEFT (or RIGHT) JOIN and ending up omitting records with no addresses but a...