-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathselect_from_nobel.sql
More file actions
143 lines (83 loc) · 2.95 KB
/
select_from_nobel.sql
File metadata and controls
143 lines (83 loc) · 2.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
-- 1. Nobel Laureates
-- We continue practicing simple SQL queries on a single table. This tutorial is concerned with a table of Nobel prize winners:
SELECT yr, subject, winner
FROM nobel
WHERE yr = 1950
-- 2. 1962 Literature
-- Show who won the 1962 prize for literature.
SELECT winner
FROM nobel
WHERE yr = 1962
AND subject = 'literature'
-- 3. Albert Einstein
SELECT yr, subject
FROM nobel
WHERE winner = 'Albert Einstein'
-- 4. Recent Peace Prizes
-- Give the name of the 'peace' winners since the year 2000, including 2000.
SELECT winner
FROM nobel
WHERE yr >= 2000 AND subject = 'peace'
-- 5. Literature in the 1980's
-- Show all details (yr, subject, winner) of the literature prize winners for 1980 to 1989 inclusive.
SELECT yr, subject, winner
FROM nobel
WHERE (yr BETWEEN 1980 AND 1989) AND (subject = 'literature')
-- 6. Only Presidents
-- Show all details of the presidential winners:
-- Theodore Roosevelt
-- Thomas Woodrow Wilson
-- Jimmy Carter
-- Barack Obama
SELECT *
FROM nobel
WHERE winner IN (
'Theodore Roosevelt',
'Woodrow Wilson',
'Jimmy Carter',
'Barack Obama'
)
-- 7. John
-- Show the winners with first name John
SELECT winner
FROM nobel
WHERE winner LIKE 'John%'
-- 8. Chemistry and Physics from different years
-- Show the year, subject, and name of physics winners for 1980 together with the chemistry winners for 1984.
SELECT *
FROM nobel
WHERE (yr = 1980 and subject = 'physics') OR (yr = 1984 and subject = 'chemistry')
-- 9. Exclude Chemists and Medics
-- Show the year, subject, and name of winners for 1980 excluding chemistry and medicine
SELECT *
FROM nobel
WHERE yr = 1980 AND NOT subject IN ('chemistry', 'medicine')
-- 10. Early Medicine, Late Literature
-- 10. Show year, subject, and name of people who won a 'Medicine' prize in an early year (before 1910, not including 1910) together with winners of a 'Literature' prize in a later year (after 2004, including 2004)
SELECT yr, subject, winner
FROM nobel
WHERE (yr < 1910 and subject = 'Medicine') OR (yr >= 2004 AND subject = 'Literature')
-- 11. Umlaut
-- Find all details of the prize won by PETER GRÜNBERG
SELECT *
FROM nobel
WHERE winner LIKE 'peter gr%nberg'
-- 12. Apostrophe
-- Find all details of the prize won by EUGENE O'NEILL
SELECT *
FROM nobel
WHERE winner = 'Eugene O''neill'
-- 13. Knights of the realm
-- List the winners, year and subject where the winner starts with Sir. Show the the most recent first, then by name order.
SELECT winner, yr, subject
FROM nobel
WHERE winner like 'Sir%'
ORDER BY yr DESC, winner
-- 14. Chemistry and Physics last
-- The expression subject IN ('chemistry','physics') can be used as a value - it will be 0 or 1. Show the 1984 winners and subject ordered by subject and winner name; but list chemistry and physics last.
SELECT winner, subject
FROM nobel
WHERE yr=1984
ORDER BY
CASE WHEN subject IN ('physics', 'chemistry') THEN 1 ELSE 0 END,
subject, winner