Uploaded by Имя Фамилиус

SQL EX первые 50 запросов

advertisement
Содержание
Задание №1 .............................................................................................................. 4
Задание №2 .............................................................................................................. 5
Задание №3 .............................................................................................................. 6
Задание №4 .............................................................................................................. 7
Задание №5 .............................................................................................................. 8
Задание №6 .............................................................................................................. 9
Задание №7 ............................................................................................................ 10
Задание №8 ............................................................................................................ 12
Задание №9 ............................................................................................................ 13
Задание №10 .......................................................................................................... 14
Задание №11 .......................................................................................................... 15
Задание №12 .......................................................................................................... 16
Задание №13 .......................................................................................................... 17
Задание №14 .......................................................................................................... 18
Задание №15 .......................................................................................................... 19
Задание №16 .......................................................................................................... 20
Задание №17 .......................................................................................................... 21
Задание №18 .......................................................................................................... 22
Задание №19 .......................................................................................................... 23
Задание №20 .......................................................................................................... 24
Задание №21 .......................................................................................................... 25
Задание №22 .......................................................................................................... 26
Задание №23 .......................................................................................................... 27
Задание №24 .......................................................................................................... 28
Задание №25 .......................................................................................................... 30
Задание №26 .......................................................................................................... 32
Задание №27 .......................................................................................................... 33
Задание №28 .......................................................................................................... 34
Задание №29 .......................................................................................................... 35
Задание №30 .......................................................................................................... 37
Задание №31 .......................................................................................................... 39
Задание №32 .......................................................................................................... 40
Задание №33 .......................................................................................................... 42
Задание №34 .......................................................................................................... 43
Задание №35 .......................................................................................................... 45
Задание №36 .......................................................................................................... 47
Задание №37 .......................................................................................................... 48
Задание №38 .......................................................................................................... 49
Задание №39 .......................................................................................................... 50
Задание №40 .......................................................................................................... 51
Задание №41 .......................................................................................................... 52
Задание №42 .......................................................................................................... 54
Задание №43 .......................................................................................................... 55
Задание №44 .......................................................................................................... 56
Задание №45 .......................................................................................................... 57
Задание №46 .......................................................................................................... 58
Задание №47 .......................................................................................................... 59
Задание №48 .......................................................................................................... 61
Задание №49 .......................................................................................................... 62
Задание №50 .......................................................................................................... 64
Задание №1
Найдите номер модели, скорость и размер жесткого диска для всех ПК
стоимостью менее 500 дол. Вывести: model, speed и hd.
Sql запрос:
Рисунок 1 - Задание №1
Результат:
Рисунок 2 - Результат
Исходный код:
SELECT PC.model, PC.speed, Pc.hd
FROM PC
WHERE PC.price < 500
Задание №2
Найдите производителей принтеров. Вывести: maker.
Sql запрос:
Рисунок 3 - Задание №2
Результат:
Рисунок 4 - Результат
Исходный код:
SELECT Product.maker
FROM Product
WHERE Product.type = 'printer'
group by maker
Задание №3
Найдите номер модели, объем памяти и размеры экранов ПК-блокнотов,
цена которых превышает 1000 дол.
Sql запрос:
Рисунок 5 - Задание №3
Результат:
Рисунок 6 - Результат
Исходный код:
SELECT model, ram, screen
FROM Laptop
WHERE Laptop.price > 1000
Задание №4
Найдите все записи таблицы Printer для цветных принтеров.
Sql запрос:
Рисунок 7 - Задание №4
Результат:
Рисунок 8 - Результат
Исходный код:
SELECT *
FROM Printer
WHERE color = 'y'
Задание №5
Найдите номер модели, скорость и размер жесткого диска ПК, имеющих
12x или 24x CD и цену менее 600 дол.
Sql запрос:
Рисунок 9 - Задание №5
Результат:
Рисунок 10 - Результат
Исходный код:
SELECT model, speed, hd
FROM PC
WHERE (PC.cd = '12x' OR PC.cd = '24x') AND PC.price < 600
Задание №6
Для каждого производителя, выпускающего ПК-блокноты c объёмом
жесткого диска не менее 10 Гбайт, найти скорости таких ПК-блокнотов.
Вывод: производитель, скорость.
Sql запрос:
Рисунок 11 - Задание №6
Результат:
Рисунок 12 - Результат
Исходный код:
SELECT distinct maker, speed
FROM Laptop join Product on Product.model = Laptop.model
WHERE Laptop.hd >= 10
Задание №7
Найдите номера моделей и цены всех имеющихся в продаже продуктов
(любого типа) производителя B (латинская буква).
Sql запрос:
Рисунок 13 - Задание №7
Результат:
Рисунок 14 - Результат
Исходный код:
SELECT DISTINCT product.model, pc.price
FROM product JOIN pc ON product.model = pc.model WHERE maker =
'B'
UNION
SELECT DISTINCT product.model, laptop.price
FROM product JOIN laptop ON product.model=laptop.model
WHERE maker='B'
UNION
SELECT DISTINCT product.model, printer.price
FROM product JOIN printer ON product.model=printer.model
WHERE maker='B'
Задание №8
Найдите производителя, выпускающего ПК, но не ПК-блокноты.
Sql запрос:
Рисунок 15 - Задание №8
Результат:
Рисунок 16 - Результат
Исходный код:
SELECT maker FROM Product
WHERE Product.type='PC' and maker not in
(SELECT maker FROM Product WHERE type='Laptop')
group by maker
Задание №9
Найдите производителей ПК с процессором не менее 450 Мгц. Вывести:
Maker
Sql запрос:
Рисунок 17 - Задание №9
Результат:
Рисунок 18 - Результат
Исходный код:
SELECT DISTINCT maker
FROM PC JOIN Product ON PC.Model = product.model
WHERE speed >= 450
Задание №10
Найдите модели принтеров, имеющих самую высокую цену. Вывести:
model, price
Sql запрос:
Рисунок 19 - Задание №10
Результат:
Рисунок 20 - Результат
Исходный код:
SELECT model, price
FROM Printer
WHERE Price = (SELECT MAX(Price) FROM Printer)
Задание №11
Найдите среднюю скорость ПК.
Sql запрос:
Рисунок 21 - Задание №11
Результат:
Рисунок 22 - Результат
Исходный код:
SELECT AVG(Speed)
FROM PC
Задание №12
Найдите среднюю скорость ПК-блокнотов, цена которых превышает 1000 дол.
Sql запрос:
Рисунок 23 - Задание №12
Результат:
Рисунок 24 - Результат
Исходный код:
SELECT AVG(speed)
FROM laptop
WHERE laptop.price > 1000
Задание №13
Найдите среднюю скорость ПК, выпущенных производителем A.
Sql запрос:
Рисунок 25 - Задание №13
Результат:
Рисунок 26 - Результат
Исходный код:
SELECT AVG(Speed)
FROM PC JOIN Product ON PC.Model = Product.model
WHERE Product.maker = 'A'
Задание №14
Найдите класс, имя и страну для кораблей из таблицы Ships, имеющих
не менее 10 орудий.
Sql запрос:
Рисунок 27 - Задание №14
Результат:
Рисунок 28 - Результат
Исходный код:
SELECT Classes.class, name, country
FROM Ships JOIN Classes on Ships.class = Classes.class
WHERE Classes.numGuns >= 10
Задание №15
Найдите размеры жестких дисков, совпадающих у двух и более PC.
Вывести: HD
Sql запрос:
Рисунок 29 - Задание №15
Результат:
Рисунок 30 - Результат
Исходный код:
SELECT hd
FROM PC
group by hd having COUNT(*)>1
Задание №16
Найдите пары моделей PC, имеющих одинаковые скорость и RAM. В
результате каждая пара указывается только один раз, т.е. (i,j), но не (j,i),
Порядок вывода: модель с большим номером, модель с меньшим номером,
скорость и RAM.
Sql запрос:
Рисунок 31 - Задание №16
Результат:
Рисунок 32 - Результат
Исходный код:
SELECT DISTINCT B.model, A.model, A.speed, A.ram
FROM PC AS A, PC B
WHERE A.speed = B.speed AND A.ram = B.ram AND A.model < B.model
Задание №17
Найдите модели ПК-блокнотов, скорость которых меньше скорости
каждого из ПК. Вывести: type, model, speed
Sql запрос:
Рисунок 33 - Задание №17
Результат:
Рисунок 34 - Результат
Исходный код:
SELECT DISTINCT type, laptop.model, speed
FROM laptop inner join product on laptop.model = product.model
where speed < (SELECT MIN(speed) FROM PC)
Задание №18
Найдите производителей самых дешевых цветных принтеров. Вывести:
maker, price
Sql запрос:
Рисунок 35 - Задание №18
Результат:
Рисунок 36 - Результат
Исходный код:
SELECT DISTINCt maker, price
FROM Product JOIN Printer on product.model = printer.model
WHERE price = (SELECT min(price) FROM printer WHERE color = 'y')
AND color = 'y'
Задание №19
Для каждого производителя, имеющего модели в таблице Laptop,
найдите
средний
размер
экрана
выпускаемых
им
ПК-блокнотов.
Вывести: maker, средний размер экрана.
Sql запрос:
Рисунок 37 - Задание №19
Результат:
Рисунок 38 - Результат
Исходный код:
SELECT DISTINCT maker, AVG(Screen)
FROM laptop join product on laptop.model = product.model
GROUP BY maker
Задание №20
Найдите производителей, выпускающих по меньшей мере три
различных модели ПК. Вывести: Maker, число моделей ПК.
Sql запрос:
Рисунок 39 - Задание №20
Результат:
Рисунок 40 - Результат
Исходный код:
SELECT maker, count(model)
FROM product
WHERE type = 'pc'
GROUP BY maker
having count(model) >= 3
Задание №21
Найдите
производителем,
максимальную
у
которого
цену
есть
ПК,
выпускаемых
модели
Вывести: maker, максимальная цена.
Sql запрос:
Рисунок 41 - Задание №21
Результат:
Рисунок 42 - Результат
Исходный код:
SELECT maker, MAX(price)
FROM pc JOIN product ON pc.model = product.model
GROUP BY maker
в
каждым
таблице
PC.
Задание №22
Для каждого значения скорости ПК, превышающего 600 МГц,
определите среднюю цену ПК с такой же скоростью. Вывести: speed, средняя
цена.
Sql запрос:
Рисунок 43 - Задание №22
Результат:
Рисунок 44 - Результат
Исходный код:
SELECT speed, AVG(price)
FROM pc
WHERE speed > 600
GROUP BY speed
Задание №23
Найдите производителей, которые производили бы как ПК со скоростью
не менее 750 МГц, так и ПК-блокноты со скоростью не менее 750 МГц.
Вывести: Maker
Sql запрос:
Рисунок 45 - Задание №23
Результат:
Рисунок 46 - Результат
Исходный код:
SELECT DISTINCT maker
FROM pc INNER JOIN product ON pc.model = product.model
WHERE pc.speed >= 750 AND maker in (SELECT maker
FROM laptop INNER JOIN product on laptop.model = product.model
WHERE laptop.speed >= 750)
Задание №24
Перечислите номера моделей любых типов, имеющих самую высокую
цену по всей имеющейся в базе данных продукции.
Sql запрос:
Риунок 47 - Задание №24
Результат:
Рисунок 48 - Результат
Исходный код:
SELECT model FROM (
SELECT DISTINCT model, price FROM Laptop
WHERE Laptop.price = (SELECT MAX(price) FROM Laptop)
UNION
SELECT DISTINCT model, price FROM PC WHERE PC.price = (SELECT
MAX(price) FROM PC)
UNION
SELECT DISTINCT model, price FROM Printer WHERE printer.price
= (SELECT MAX(price) FROM Printer)
) AS t
WHERE t.price = (SELECT MAX(price) FROM (
SELECT DISTINCT price FROM Laptop
UNION
SELECT DISTINCT price FROM PC
UNION
SELECT DISTINCT price FROM Printer
) AS SUBQUERY)
Задание №25
Найдите производителей принтеров, которые производят ПК с
наименьшим объемом RAM и с самым быстрым процессором среди всех ПК,
имеющих наименьший объем RAM. Вывести: Maker
Sql запрос:
Рисунок 49 - Задание №
Результат:
Рисунок 50 - Результат
Исходный код:
select distinct product.maker
from product, pc
where product.type = 'PC'
and product.model = pc.model
and pc.ram = (select min(pcc.ram) from pc pcc where pcc.ram <> 0)
and pc.speed = (select max(pccc.speed) from pc pccc
where pccc.ram = (select min(pcc.ram) from pc pcc where pcc.ram <>
0))
and exists(select 'x' from product p
where p.type = 'Printer'
and p.maker = product.maker)
Задание №26
Найдите
среднюю
цену
ПК
и
ПК-блокнотов,
выпущенных
производителем A (латинская буква). Вывести: одна общая средняя цена.
Sql запрос:
Рисунок 51 - Задание №26
Результат:
Рисунок 52 – Результат
Исходный код:
SELECT ZAP1.c/ZAP1.d
FROM(SELECT SUM(ZAP.a) AS c, SUM(ZAP.b) AS d
FROM(
SELECT SUM(pc.price) AS a, COUNT(pc.code) AS b FROM pc
INNER JOIN product ON pc.model=product.model
WHERE product.maker='A'
UNION
SELECT SUM(laptop.price) AS a, COUNT(laptop.code) AS b FROM laptop
INNER
JOIN
product
ON
product.maker='A') AS ZAP
) AS ZAP1
laptop.model=product.model
WHERE
Задание №27
Найдите средний размер диска ПК каждого из тех производителей,
которые выпускают и принтеры. Вывести: maker, средний размер HD.
Sql запрос:
Рисунок 53 - Задание №27
Результат:
Рисунок 54 - Результат
Исходный код:
SELECT
MAKER,
AVG(HD)
PRODUCT.MODEL=PC.MODEL
FROM
PRODUCT
JOIN
PC
WHERE MAKER IN(SELECT MAKER FROM PRODUCT WHERE TYPE='printer')
GROUP BY MAKER
ON
Задание №28
Используя таблицу Product, определить количество производителей,
выпускающих по одной модели.
Sql запрос:
Рисунок 55 - Задание №28
Результат:
Рисунок 56 - Результат
Исходный код:
SELECT COUNT(*) FROM (SELECT MAKER FROM PRODUCT GROUP BY MAKER
HAVING COUNT(MODEL)=1) AS AVG
Задание №29
В предположении, что приход и расход денег на каждом пункте приема
фиксируется не чаще одного раза в день [т.е. первичный ключ (пункт, дата)],
написать запрос с выходными данными (пункт, дата, приход, расход).
Использовать таблицы Income_o и Outcome_o.
Sql запрос:
Рисунок 57 – Задание №29
Результат:
Рисунок 58 – Результат
Исходный код:
SELECT I.point, I.date, inc, out
FROM income_o I LEFT JOIN outcome_o O ON I.point = O.point
AND I.date = O.date
UNION
SELECT O.point, O.date, inc, out
FROM income_o I RIGHT JOIN outcome_o O ON I.point = O.point
AND I.date = O.date
Задание №30
В предположении, что приход и расход денег на каждом пункте приема
фиксируется произвольное число раз (первичным ключом в таблицах является
столбец code), требуется получить таблицу, в которой каждому пункту за
каждую дату выполнения операций будет соответствовать одна строка.
Вывод: point, date, суммарный расход пункта за день (out), суммарный приход
пункта за день (inc). Отсутствующие значения считать неопределенными
(NULL).
Sql запрос:
Рисунок 59 - Задание №30
Результат:
Рисунок 60 – Результат
Исходный код:
SELECT point, date, SUM(sum_out), SUM(sum_inc)
FROM(SELECT point, date, SUM(inc) as sum_inc, null as sum_out from
Income Group by point, date
Union
select point, date, null as sum_inc, SUM(out) as sum_out from
Outcome Group by point, date ) as IncOut
group by point, date order by point
Задание №31
Для классов кораблей, калибр орудий которых не менее 16 дюймов,
укажите класс и страну.
Sql запрос:
Рисунок 61 - Задание №31
Результат:
Рисунок 62 - Результат
Исходный код:
SELECT class, country from Classes
WGERE bore >= 16
Задание №32
Одной из характеристик корабля является половина куба калибра его
главных орудий (mw). С точностью до 2 десятичных знаков определите
среднее значение mw для кораблей каждой страны, у которой есть корабли в
базе данных.
Sql запрос:
Рисунок 63 - Задание №32
Результат:
Рисунок 64 - результат
Исходный код:
Select country, cast(avg((power(bore,3)/2)) as numeric(6,2)) as
weight
from (select country, classes.class, bore, name from classes
left join ships on classes.class=ships.class
union all
select distinct country, class, bore, ship from classes t1 left
join outcomes t2 on t1.class=t2.ship
where ship=class and ship not in (select name from ships) ) a
where name!='null' group by country
Задание №33
Укажите корабли, потопленные в сражениях в Северной Атлантике
(North Atlantic). Вывод: ship.
Sql запрос:
Рисунок 65 - Задание №33
Результат:
Рисунок 66 – Результат
Исходный код:
Select ship from Outcomes where result = 'sunk' and battle = 'North
Atlantic' group by ship
Задание №34
По Вашингтонскому международному договору от начала 1922 г.
запрещалось строить линейные корабли водоизмещением более 35 тыс.тонн.
Укажите корабли, нарушившие этот договор (учитывать только корабли c
известным годом спуска на воду). Вывести названия кораблей.
Sql запрос:
Рисунок 67 - Задание №34
Результат:
Рисунок 68 - Результат
Исходный код:
SELECT DISTINCT name FROM ships JOIN classes ON ships.class =
classes.class
WHERE displacement > 35000 AND launched >= 1922 AND type = 'bb'
Задание №35
В таблице Product найти модели, которые состоят только из цифр или
только
из
латинских
букв
(A-Z,
Вывод: номер модели, тип модели.
Sql запрос:
Рисунок 69 - Задание №35
без
учета
регистра).
Результат:
Рисунок 70 - Результат
Исходный код:
SELECT model, type
FROM product
WHERE upper(model) NOT like '%[^A-Z]%'
OR model not like '%[^0-9]%'
Задание №36
Перечислите названия головных кораблей, имеющихся в базе данных
(учесть корабли в Outcomes).
Sql запрос:
Рисунок 71 - Задание №36
Результат:
Рисунок 72 - Результат
Исходный код:
Select name FROM ships WHERE class = name
UNION
SELECT ship FROM classes, outcomes WHERE
outcomes.ship
classes.class
=
Задание №37
Найдите классы, в которые входит только один корабль из базы данных
(учесть также корабли в Outcomes).
Sql запрос:
Рисунок 73 - Задание №37
Результат:
Рисунок 74 - Результат
Исходный код:
SELECT class FROM(SELECT name,class FROM ships
UNION
SELECT class AS name,class FROM classes, outcomes WHERE
classes.class=outcomes.ship) One
group by class having count(One.name)=1
Задание №38
Найдите страны, имевшие когда-либо классы обычных боевых кораблей
('bb') и имевшие когда-либо классы крейсеров ('bc').
Sql запрос:
Рисунок 75 - Задание №38
Результат:
Рисунок 76 - Результат
Исходный код:
SELECT DISTINCT country FROM classes
WHERE type='bb'
intersect
SELECT DISTINCT country FROM classes
WHERE type='bc'
Задание №39
Найдите корабли, `сохранившиеся для будущих сражений`; т.е.
выведенные из строя в одной битве (damaged), они участвовали в другой,
произошедшей позже.
Sql запрос:
Рисунок 77 - Задание №39
Результат:
Рисунок 78 - Результат
Исходный код:
SELECT DISTINCT B.ship
FROM(select * FROM outcomes LEFT JOIN battles ON battle=name
WHERE result='damaged') as B
WHERE exists (SELECT ship FROM outcomes LEFT JOIN battles ON
battle=name
WHERE ship=B.ship AND B.date<date)
Задание №40
Найти производителей, которые выпускают более одной модели, при
этом все выпускаемые производителем модели являются продуктами одного
типа.
Вывести: maker, type
Sql запрос:
Рисунок 79 - Задание № 40
Результат:
Рисунок 80 - Результат
Исходный код:
SELECT maker, MAX(type)
FROM product
GROUP BY maker
HAVING COUNT(DISTINCT type) = 1 AND COUNT(model) > 1
Задание №41
Для каждого производителя, у которого присутствуют модели хотя бы в
одной из таблиц PC, Laptop или Printer, определить максимальную цену на его
продукцию. Вывод: имя производителя, если среди цен на продукцию данного
производителя присутствует NULL, то выводить для этого производителя
NULL, иначе максимальную цену.
Sql запрос:
Рисунок 81 - Задание №41
Результат:
Рисунок 82 - Результат
Исходный код:
WITH D AS (SELECT model, price FROM PC
UNION
SELECT model, price FROM Laptop
UNION
SELECT model, price FROM Printer)
SELECT DISTINCT P.maker,
CASE WHEN MAX(CASE WHEN D.price IS NULL THEN 1 ELSE 0 END) = 0
THEN
MAX(D.price) END
FROM Product P
RIGHT JOIN D ON P.model=D.model
GROUP BY P.maker
Задание №42
Найдите названия кораблей, потопленных в сражениях, и название
сражения, в котором они были потоплены.
Рисунок 83 - Задание №42
Результат:
Рисунок 84 - Результат
Исходный код:
SELECT ship, battle
FROM Outcomes
WHERE result = 'sunk'
Задание №43
Укажите сражения, которые произошли в годы, не совпадающие ни с
одним из годов спуска кораблей на воду.
Рисунок 85 - Задание №43
Результат:
Рисунок 86 - Результат
Исходный код:
SELECT name
FROM battles
WHERE year(date) not in (SELECT launched FROM ships
WHERE launched is not null)
Задание №44
Найдите названия всех кораблей в базе данных, начинающихся с буквы
R.
Рисунок 87 - Задание №44
Результат:
Рисунок 88 - Результат
Исходный код:
SELECT name FROM Ships
WHERE name LIKE 'R%'
UNION
SELECT Ship FROM Outcomes
WHERE Ship LIKE 'R%'
Задание №45
Найдите названия всех кораблей в базе данных, состоящие из трех и
более слов (например, King George V). Считать, что слова в названиях
разделяются единичными пробелами, и нет концевых пробелов.
Рисунок 89 - Задание №45
Результат:
Рисунок 90 - Результат
Исходный код:
SELECt name FROM ships
WHERE name like '% % %'
UNION
SELECT ship FROM outcomes
WHERE ship like '% % %'
Задание №46
Для каждого корабля, участвовавшего в сражении при Гвадалканале
(Guadalcanal), вывести название, водоизмещение и число орудий.
Рисунок 91 - Задание №46
Результат:
Рисунок 92 - Результат
Исходный код:
SELECT o.ship, displacement, numGuns
FROM (SELECT name AS ship, displacement, numGuns
FROM Ships s JOIN Classes c ON c.class=s.class
UNION
SELECT class AS ship, displacement, numGuns FROM Classes c) AS a
RIGHT JOIN Outcomes o ON o.ship=a.ship WHERE battle = 'Guadalcanal'
Задание №47
Определить страны, которые потеряли в сражениях все свои корабли.
Рисунок 93 - Задание №47
Результат:
Рисунок 94 - Результат
Исходный код:
WITH T1 AS (SELECT COUNT(name) as co, country
FROM (SELECT name, country FROM Classes
INNER JOIN Ships ON Ships.class = Classes.class UNION
SELECT ship, country FROM Classes INNER JOIN Outcomes
Outcomes.ship = Classes.class) FR1 GROUP BY country ),
ON
T2 AS ( SELECT COUNT(name) as co, country
FROM (SELECT name, country FROM Classes INNER JOIN Ships ON
Ships.class = Classes.class WHERE name IN (
SELECT DISTINCT ship FROM Outcomes WHERE result LIKE 'sunk')
UNION SELECT ship, country FROM Classes INNER JOIN
Outcomes ON Outcomes.ship = Classes.class WHERE ship IN (
SELECT DISTINCT ship FROM Outcomes WHERE result LIKE 'sunk') ) FR2
GROUP BY country )
SELECT T1.country FROM T1 INNER JOIN T2 ON T1.co = t2.co and
t1.country = t2.country
Задание №48
Найдите классы кораблей, в которых хотя бы один корабль был
потоплен в сражении.
Рисунок 95 - Задание №48
Результат:
Рисунок 96 - Результат
Исходный код:
SELECT class as n from ships WHERE name in(
SELECT ship FROM outcomes WHERE result='sunk')
UNION
SELECT ship as n from outcomes
WHERE ship not in(
SELECT name FROM ships) AND ship IN(SELECT class FROM classes)
AND result='sunk'
Задание №49
Найдите названия кораблей с орудиями калибра 16 дюймов (учесть
корабли из таблицы Outcomes).
Рисунок 97 - Задание №49
Результат:
Рисунок 98 - Результат
Исходный код:
SELECT Ships.name
FROM Classes JOIN
Ships ON Classes.class = ships.class
WHERE bore = 16
UNION
SELECT Outcomes.ship
FROM Outcomes JOIN
Classes ON Classes.class = Outcomes.ship
WHERE bore = 16
Задание №50
Найдите сражения, в которых участвовали корабли класса Kongo из
таблицы Ships.
Рисунок 99 - Задание №50
Результат:
Рисунок 100 - Результат
Исходный код:
SELECT DISTINCT battle FROM outcomes
WHERE ship IN (
SELECT name FROM ships
WHERE class = 'kongo')
Download