Содержание
- 2. SELECT Студент.Фамилия FROM Студент LEFT JOIN Оценки ON Студент.[код студента] = Оценки.[Код студента] WHERE [Код_ дисциплины]
- 3. Подзапрос создаёт временную таблицу, содержимое которой извлекается и обрабатывается внешним оператором (обычно предикатом внешнего запроса в
- 4. Подзапрос может вернуть следующее число значений: · одно значение, · столбец значений, · таблицy значений (несколько
- 5. 1. При возврате одного значения обычно используются операторы сравнения. Например, вывести данные об объектах недвижимости, цены
- 6. SELECT [код студента] FROM оценки GROUP BY [код студента] HAVING AVG(оценка)>(SELECT AVG(оценка) FROM оценки)
- 7. 2. При возврате множества значений (одного столбца) используется проверка на принадлежность к множеству (IN), а также
- 8. Например, следующий запрос вернёт сведения об объектах собственности, осмотренных покупателями. SELECT * FROM PROPERTY WHERE Property_No
- 10. Или SELECT * FROM PROPERTY WHERE Property_No = ANY (SELECT Property_No FROM Viewing);
- 11. Однако, оператор ANY может использовать другие операторы сравнения кроме равенства, и таким образом делать сравнения которые
- 12. Следующий запрос возвращает фамилии тех сотрудников отделения 2, которые получают более высокую заработную плату, чем какой-либо
- 13. FNAME Branch_no SALARY Батуркин 3 2500000,00 Чубаро 1 5060000,00 Коваленко 3 2500000,00 Логинов 1 2000000,00 Суворов
- 14. ALL: предикат является верным, если каждое значение выбранное подзапросом удовлетворяет условию в предикате внешнего запроса.
- 15. Следующий запрос возвращает фамилии тех сотрудников отделения 2, которые получают более высокую заработную плату, чем любой
- 16. 2) SELECT Fname FROM STAFF WHERE Branch_No = 2 AND SALARY > (SELECT MAX(SALARY)FROM STAFF Where
- 17. ALL используется в основном с неравенствами так как значение может быть "равным для всех" результатом подзапроса
- 18. 3. При возврате подзапросом таблицы (множество столбцов) можно проверить только факт наличия данных с помощью оператора
- 19. Нет смысла использовать EXISTS, если подзапрос построен с помощью обобщающей функции, которая всегда возвращает значение.
- 20. В предложении HAVING также могут использоваться подзапросы. Например: вывести список отделений компании, в которых средняя заработная
- 21. SELECT Staff_no, SALARY FROM STAFF WHERE SALARY BETWEEN (SELECT AVG(SALARY) FROM STAFF) AND (SELECT SALARY FROM
- 22. Связанные (соотнесенные) подзапросы Возможны случаи, когда подзапрос должен использовать данные из внешнего запроса. Пример. Вывести данные
- 24. Запрос SELECT * FROM STAFF WHERE 2 IN (SELECT COUNT(*) FROM Property GROUP BY Staff_no) вернет
- 25. SELECT * FROM STAFF WHERE 2 = (SELECT COUNT(*) FROM Property GROUP BY Staff_no)
- 26. Для того чтобы получить требуемый ответ на запрос необходимо использовать связанный подзапрос: SELECT * FROM Staff
- 27. Просматривается таблица Staff, из нее берется одна очередная запись и переписывается в таблицу с именем а.
- 28. a Cеменов … Property
- 29. Этот же результат может быть получен при помощи более простого запроса: SELECT Staff_no FROM Property GROUP
- 30. SELECT FNAME, Branch_no SALARY FROM STAFF S WHERE SALARY > (SELECT AVG(SALARY) FROM STAFF WHERE Staff.Branch_no=S.Branch_no)
- 31. FNAME Branch_no SALARY Батуркин 3 2500000,00 Чубаро 1 5060000,00 Коваленко 3 2500000,00 Логинов 1 2000000,00 Суворов
- 32. Пример связанного запроса: Вывести список продавцов, имеющих объекты собственности в Витебске SELECT * FROM Owner WHERE
- 33. Примеры. Вывести список владельцев собственности, чьи объекты были осмотрены в определенный день: SELECT OWNER.Owner_no, FName, LName
- 35. В таблице VIEWING будет найдена соответствующая дата и передана в предложение WHERE. После определения даты в
- 36. Использование оператора EXISTS Оператор EXISTS проверяет, возвращает ли подчиненный запрос хотя бы одну строку. Для проверки
- 37. Пример. Вывести данные об объектах собственности из таблицы PROPERTY только в том случае, если хотя бы
- 38. Property 2003-03-31 согласен 3000 4 2012-03-25 требует ремонта 3001 7 2012-03-25 согласен 3002 1 2012-01-18 не
- 40. Вывести данные об объектах собственности из таблицы PROPERTY проданных покупателям
- 41. SELECT * FROM PROPERTY WHERE EXISTS (SELECT Property_no FROM VIEWING WHERE Comments=‘согласен' AND property.property_no=viewing.property_no)
- 42. SELECT * FROM PROPERTY INNER JOIN VIEWING ON Property.Property_no= VIEWING.Property_no WHERE Comments=‘согласен'
- 43. SELECT * FROM PROPERTY WHERE Property_no in (SELECT Property_no FROM VIEWING WHERE Comments=‘согласен')
- 44. SELECT * FROM PROPERTY WHERE Property_no = ANY(SELECT Property_no FROM VIEWING WHERE Comments='согласен')
- 45. SELECT Btel_no FROM Branch WHERE EXISTS (SELECT Staff_no FROM Staff WHERE position=‘менеджер' AND Staff.Branch_No = Branch.Branch_No
- 48. SELECT * FROM Branch WHERE (SELECT count(*) FROM Staff WHERE (position = ‘менеджер') AND (Staff.Branch_No =
- 49. Порождаемые таблицы
- 50. Найти максимальную из средних заработных плат отделений компании SELECT max(avg(SALARY) FROM STAFF GROUP BY branch_no)
- 51. Staff_no FName LName DOB Sex City Street House Flat Stel_no Date_Joined Position Salary Branch_no STAFF
- 52. Branch_no Avgsal 1 3250000,00 2 2600000,00 3 7575000,00 4 1500000,00
- 53. SELECT max(avgsal) FROM (SELECT Branch_no, AVG(salary)AS avgsal FROM staff GROUP BY branch_no)…
- 54. SELECT max(avgsal) FROM (SELECT Branch_no, AVG(salary)AS avgsal FROM staff GROUP BY branch_no) AS tbl
- 55. SELECT max(avgsal) FROM (SELECT Branch_no, AVG(salary)FROM staff GROUP BY branch_no) AS tbl(br,avgsal)
- 56. Cсуществует возможность указывать в разделе FROM не только ссылки на таблицы, но и запросы. Результатом вычисления
- 57. Вывести список объектов собственности, которые не осматривались покупателями Property
- 58. 2003-03-31 согласен 3000 4 2012-03-25 требует ремонта 3001 7 2012-03-25 согласен 3002 1 2012-01-18 не согласен
- 59. 1) SELECT Property_no FROM PROPERTY WHERE PROPERTY_No NOT IN (SELECT Property_no FROM VIEWING)
- 60. 2) SELECT PROPERTY.Property_no FROM PROPERTY LEFT JOIN VIEWING ON PROPERTY. Property_no= VIEWING.Property_no WHERE VIEWING.Property_No IS NULL
- 61. 3) SELECT Property_no FROM PROPERTY WHERE NOT EXISTS (SELECT PROPERTY_no FROM VIEWING)
- 62. 3) SELECT Property_no FROM PROPERTY WHERE NOT EXISTS (SELECT PROPERTY_no FROM VIEWING WHERE VIEWING.Property_no=PROPERTY.Property_no)
- 63. Вывести список объектов, цена которых выше средней.
- 66. SELECT PROPERTY_no FROM PROPERTY WHERE selling_Price>(SELECT AVG(selling_price)FROM PROPERTY)
- 67. Вывести список объектов, цена которых выше средней в своем отделении. SELECT PROPERTY_no FROM PROPERTY a WHERE
- 68. В каком городе продаётся самая дешёвая квартира
- 69. SELECT City, MIN(selling_price) FROM property GROUP BY City
- 70. Витебск 15000,00 Новопол 2000,00 Полоцк 2000,00
- 71. SELECT City FROM property WHERE selling_price = (SELECT MIN(selling_price) FROM PROPERTY)
- 72. В каких городах средняя цена квартиры не превышает 40000
- 74. SELECT City, FROM PROPERTY GROUP BY CITY HAVING AVG(selling_price)
- 75. Без группировки SELECT City FROM PROPERTY a WHERE (SELECT AVG(selling_price) FROM PROPERTY WHERE PROPERTY.City = a.CITY)
- 76. Найти номера отделений, в которых средний размер зарплаты равен максимальному размеру зарплаты сотрудников какого-либо другого отделения.
- 77. SELECT Branch_no, AVG(SALARY) FROM STAFF a GROUP BY Branch_no HAVING AVG(SALARY) = (SELECT MAX(SALARY)FROM STAFF WHERE
- 78. Найти номера отделов и минимальный и максимальный размер зарплаты сотрудников для тех отделов, в которых средний
- 79. SELECT Branch_no, min(SALARY), max(SALARY) FROM STAFF GROUP BY Branch_no HAVING AVG(SALARY) >(SELECT AVG(SALARY) FROM STAFF)
- 80. Во всех отделах найти фамилии и число служащих, у которых в данном отделе имеются однофамильцы и
- 81. Staff_no FName LName DOB Sex City Street House Flat Stel_no Date_Joined Position Salary Branch_no STAFF
- 82. SELECT Branch_no, FName, COUNT(*) FROM STAFF GROUP BY Branch_no,FName HAVING COUNT(*) > 1 AND FNAME LIKE(SELECT
- 83. Найти самую дешевую квартиру
- 84. SELECT * FROM PROPERTY WHERE selling_price =(SELECT MIN(selling_price)FROM PROPERTY)
- 85. Найти номер телефона отделения, продающего самую дешёвую квартиру
- 86. SELECT Btel_no FROM PROPERTY INNER JOIN BRANCH ON PROPERTY.BRANCH_no=BRANCH. BRANCH_no WHERE selling_price =(SELECT MIN(selling_price)FROM PROPERTY)
- 87. SELECT Btel_no FROM Branch WHERE Branch_no IN(SELECT branch_no FROM PROPERTY WHERE Property_no IN(SELECT PROPERTY_no FROM PROPERTY
- 88. Создание таблицы из набора результатов При помощи оператора SELECT INTO можно поместить набор результатов запроса в
- 89. Найти максимальную из средних заработных плат отделений компании
- 91. Скачать презентацию