SQL Exercises: Display distinct salesman and their cities
2. From the following tables, write a SQL query to find distinct salespeople and their cities. Return salesperson ID and city.
Sample table: Salesman
salesman_id | name | city | commission
-------------+------------+----------+------------
5001 | James Hoog | New York | 0.15
5002 | Nail Knite | Paris | 0.13
5005 | Pit Alex | London | 0.11
5006 | Mc Lyon | Paris | 0.14
5007 | Paul Adam | Rome | 0.13
5003 | Lauson Hen | San Jose | 0.12
Sample table: Customer
customer_id | cust_name | city | grade | salesman_id
-------------+----------------+------------+-------+-------------
3002 | Nick Rimando | New York | 100 | 5001
3007 | Brad Davis | New York | 200 | 5001
3005 | Graham Zusi | California | 200 | 5002
3008 | Julian Green | London | 300 | 5002
3004 | Fabian Johnson | Paris | 300 | 5006
3009 | Geoff Cameron | Berlin | 100 | 5003
3003 | Jozy Altidor | Moscow | 200 | 5007
3001 | Brad Guzan | London | | 5005
Sample Solution:
-- Selecting specific columns (salesman_id, city) from the 'customer' table
SELECT salesman_id, city
-- Performing a UNION operation with the result set of a subquery that selects specific columns (salesman_id, city) from the 'salesman' table
FROM customer
UNION
(SELECT salesman_id, city
-- Selecting specific columns (salesman_id, city) from the 'salesman' table
FROM salesman)
Sample Output:
salesman_id city 5001 New York 5002 London 5002 California 5006 Paris 5007 Rome 5002 Paris 5005 London 5003 Berlin 5007 Moscow 5003 San Jose
Code Explanation:
The said query in SQL that retrieves a list of unique pairs of salesman_id and city from two different tables, customer and salesman. The UNION operator is used to combine the results of two separate SELECT statements into a single result set.
The resulting table will contain all the unique combinations of salesman_id and city that appear in either the customer or salesman tables.
Relational Algebra Expression:
Relational Algebra Tree:
Go to:
PREV : Display all salesmen and customer located in London.
NEXT : Salesmen, customer involved in inventory management.
Practice Online
Query Visualization:
Duration:
Rows:
Cost:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
