Решение задач по базам данных. Решение задач. (тема практического задания) фио студента Супрун Вячеслав Сергеевич
Скачать 191 Kb.
|
s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT s_no, sname, qty FROM s JOIN sp USING (s_no) WHERE s.s_no = ‘s2’ Решение: s_no sname qty s2 Jones 300 s2 Jones 400 База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT s_no, sname, qty FROM s JOIN sp ON (s.s_no = sp.s_no) WHERE s.s_no = ‘s2’ Решение: s_no sname qty s2 Jones 300 s2 Jones 400 База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT s_no, sname, qty FROM s, sp WHERE s.s_no = sp.s_no AND s.s_no = ‘s2’ Решение: s_no sname qty s2 Jones 300 s2 Jones 400 База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT s_no, AVG(qty) AS avgQty FROM sp GROUP BY s_no Решение: s_no avgQty s1 216,6 s2 350 s3 200 s4 300 База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT s_no, MAX(qty) AS maxQty FROM sp GROUP BY s_no Решение: s_no maxQty s1 300 s2 400 s3 200 s4 400 База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT s_no, MIN(qty) AS minQty FROM sp GROUP BY s_no Решение: s_no minQty s1 100 s2 300 s3 200 s4 200 База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT city, COUNT(*) AS cnt FROM s GROUP BY city Решение: city cnt London 2 Paris 2 Athens 1 База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT AVG(status) AS avg FROM s Решение: avg 22 База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT MAX(status) AS max FROM s Решение: max 30 База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT MIN(status) AS min FROM s Решение: min 10 База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT COUNT(DISTINCT city) AS ncity FROM s Решение: ncity 3 База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT COUNT(*) AS cnt FROM s Решение: cnt 5 База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT s_no FROM s WHERE sname LIKE %th Решение: s_no s1 База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT city FROM s ORDER BY city Решение: city Athens London Paris База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT DISTINCT city FROM s Решение: city London Paris Athens База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT city FROM s Решение: city London Paris Athens London Paris База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT s_no, sname FROM s WHERE status BETWEEN 0 AND 20 Решение: s_no sname s4 Clark s2 Jones s1 Smith База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT s_no, sname FROM s WHERE status IN (10, 20) Решение: s_no sname s4 Clark s2 Jones s1 Smith База данных содержит таблицы: s —— поставщики p —— товары sp —— поставки s_no sname status city p_no pname color city s_no p_no qty | s_no p_no qty s1 Smith 20 London p1 Nut Red London s1 p1 300 | s2 p1 300 s2 Jones 10 Paris p2 Bolt Green Paris s1 p2 200 | s2 p2 400 s3 Blake 30 Paris p3 Screw Blue Rome s1 p3 400 | s3 p2 200 s4 Clark 20 London p4 Screw Red London s1 p4 200 | s4 p2 200 s5 Adams 30 Athens p5 Cam Blue Paris s1 p5 100 | s4 p4 300 p6 Cog Red London s1 p6 100 | s4 p5 400 Какой результат возвратит команда SELECT * FROM s WHERE status = 20 Решение: s_no sname status city s1 Smith 20 London s4 Clark 20 London |