New Subscribers
Description
You are managing a small newspaper subscription service. Anyone who uses it can subscribe to a large number of different newspapers for a full year or just a half year.
The information about subscriptions is stored in the full_year and half_year tables, which have the following structures:
- full_year:
- id: the unique subscription ID;
- newspaper: the newspaper’s name;
- subscriber: the name of the subscriber.
- half_year:
- id: the unique subscription ID;
- newspaper: the newspaper’s name;
- subscriber: the name of the subscriber.
Given the full_year and half_year tables, compose the result as follows: The resulting table should have one column subscriber
that contains all the distinct names of anyone who is subscribed to a newspaper with the word Daily
in its name. The table should be sorted in ascending order by the subscribers’ first names.
Example
The following tables full_year
id | newspaper | subscriber |
---|---|---|
1 | The Paragon Herald | Crissy Sepe |
2 | The Daily Reporter | Tonie Moreton |
3 | Morningtide Daily | Erwin Chitty |
4 | Daily Breakfast | Tonie Moreton |
5 | Independent Weekly | Lavelle Phu |
and half_year
id | newspaper | subscriber |
---|---|---|
1 | The Daily Reporter | Lavelle Phu |
2 | Daily Breakfast | Tonie Moreton |
3 | The Paragon Herald | Lia Cover |
4 | The Community Gazette | Lavelle Phu |
5 | Nova Daily | Lia Cover |
6 | Nova Daily | Joya Buss |
the output should be
subscriber |
---|
Erwin Chitty |
Joya Buss |
Lavelle Phu |
Lia Cover |
Tonie Moreton |
- [execution time limit] 10 seconds (mysql)
Solution
1
2
3
4
5
6
7
8
9
/*Please add ; after each select statement*/
CREATE PROCEDURE newsSubscribers()
BEGIN
SELECT DISTINCT u.subscriber
FROM (SELECT * FROM full_year
UNION SELECT * FROM half_year) as u
WHERE u.newspaper LIKE '%Daily%'
ORDER BY u.subscriber;
END