ОТВЕТЫ К НЕКОТОРЫМ УПРАЖНЕНИЯМ
Следующие ответы не являются единственно возможными.
4.1. SELECT НОМЕР_ИЗДЕЛИЯ, НАЗВАНИЕ, ГОРОД
FROM J;
или:
SELECT *
FROM J;
4.2 SELECT НОМЕР_ИЗДЕЛИЯ, НАЗВАНИЕ, ГОРОД
FROM J
WHERE ГОРОД == 'Лондон';
или
SELECT *
FROM J
WHERE ГОРОД = 'Лондон';
4.3 SELECT DISTINCT НОМЕР_ПОСТАВЩИКА
FROM SPJ
WHERE НОМЕР_ИЗДЕЛИЯ = 'J1'
ORDER BY НОМЕР_ПОСТАВЩИКА;
4.4. SELECT НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ, НОМЕР_ИЗДЕЛИЯ,
КОЛИЧЕСТВО
FROM SPJ
WHERE КОЛИЧЕСТВО > = 300
AND КОЛИЧЕСТВО < = 750;
или
SELECT НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ, НОМЕР_ИЗДЕЛИЯ,
КОЛИЧЕСТВО
FROM SPJ
WHERE КОЛИЧЕСТВО BETWEEN 300 AND 750;.
4.5. SELECT DISTINCT ЦВЕТ, ГОРОД
FROM Р;
4.6. SELECT НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ, НОМЕР_ИЗДЕЛИЯ,
КОЛИЧЕСТВО
FROM SPJ
WHERE КОЛИЧЕСТВО IS NOT NULL;
Выше приведен «официальный» ответ. Однако следующий ответ также корректен:
SELECT НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ, НОМЕР_ИЗДЕЛИЯ,
КОЛИЧЕСТВО
FROM SPJ
WHERE КОЛИЧЕСТВО = КОЛИЧЕСТВО;
4.7. SELECT НОМЕР_ИЗДЕЛИЯ, ГОРОД
FROM J
WHERE ГОРОД LIKE '_0 %';
4.8. SELECT НОМЕР_ПОСТАВЩИКА, НОМЕР-ДЕТАЛИ, НОМЕР-ИЗДЕЛИЯ
FROM S, Р, J
WHERE S.ГOPOД = Р.ГОРОД
AND Р.ГОРОД = J.ГОРОД,
4.9. SELECT НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ, НОМЕР_ИЗДЕЛИЯ
FROM S, Р, J
WHERE NOT
(S.ГOPOД = Р.ГОРОД AND Р.ГОРОД = J.ГОРОД);
или
SELECT НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ, НОМЕР_ИЗДЕЛИЯ FROM S, Р, J
WHERE S.ГОPOД Ø= Р.ГОРОД OR Р.ГОРОД Ø = J. ГОРОД;
4.10. SELECT НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ. НОМЕР_ИЗДЕЛИЯ
FROM S, Р, J
WHERE S. ГОРОД Ø= P. ГОРОД
AND P. ГОРОД Ø= J. ГОРОД
AND J. ГОРОД Ø= S. ГОРОД;
4.11. SELECT DISTINCT НОМЕР_ДЕТАЛИ
FROM SPJ, S
WHERE SPJ. НОМЕР_ПОСТАВЩИКА = S. НОМЕР_ПОСТАВЩИКА
AND ГОРОД = 'Лондон';
4.12. SELECT DISTINCT НОМЕР_ДЕТАЛИ
FROM SPJ, S, J
WHERE SPJ. НОМЕР_ПОСТАВЩИКА = J. НОМЕР_ПОСТАВЩИКА
AND SPJ. НОМЕР_ИЗДЕЛИЯ = J. НОМЕР_ИЗДЕЛИЯ
AND S. ГОРОД = 'Лондон'
AND J. ГОРОД =='Лондон',
4.13. SELECT DISTINCT S. ГОРОД, J. ГОРОД
FROM S, SPJ, J
WHERE S. НОМЕР_ПОСТАВЩИКА = SPJ. НОМЕР_ПОСТАВЩИКА
AND SPJ. НОМЕР_ИЗДЕЛИЯ = J. НОМЕР_ИЗДЕЛИЯ;
4.14. SELECT DISTINCT НОМЕР_ДЕТАЛИ
FROM SPJ, S, J
WHERE SPJ. НОМЕР_ПОСТАВЩИКА = S. НОМЕР_ПОСТАВЩИКА
AND SPJ. НОМЕР_ИЗДЕЛИЯ = J. НОМЕР_ИЗДЕЛИЯ
AND S. ГОРОД = J. ГОРОД;
4.15. SELECT DISTINCT J. НОМЕР_ИЗДЕЛИЯ
FROM SPJ, S, J
WHERE SPJ. НОМЕР_ПОСТАВЩИКА = S. НОМЕР_ПОСТАВЩИКА
AND SPJ. НОМЕР_ИЗДЕЛИЯ = J. НОМЕР_ИЗДЕЛИЯ
AND S. ГОРОД = J. ГОРОД;
4.16. SELECT SPJX. НОМЕР_ДЕТАЛИ, SPJY. НОМЕР_ДЕТАЛИ
FROM SPJ SPJX, SPJ SPJY
WHERE SPJX. НОМЕР_ПОСТАВЩИКА = SPJY. НОМЕР_ПОСТАВЩИКА
AND SPJX. НОМЕР_ ДЕТАЛИ > SPJY. НОМЕР_ДЕТАЛИ;
ГЛАВА 5
МАНИПУЛИРОВАНИЕ ДАННЫМИ II:
ДАЛЬНЕЙШИЕ ОПЕРАЦИИ ВЫБОРКИ ДАННЫХ