Практические задания по SQL
| В таблице Products необходимо отсортировать товары по сорту (Sort), а затем по наименованию (поле Product) |
| SELECT Product, Sort, Price FROM Products ORDER BY Sort, Product; |
| SELECT Product, Sort, Price FROM Products ORDER BY 2,3; |
| SELECT Product, Sort, Price FROM Products ORDER BY 2, 1 |
| SELECT Product, Sort, Price FROM Products ORDER BY Sort, 1; |
| Какое из условий предложения WHERE позволяет отобрать адреса клиентов из USA и Canada? |
| Country = 'USA' AND Country ='Canada' |
| Country = 'USA' OR Country ='Canada' |
| Country IN (‘USA’, ‘Canada’) |
| Country IN (‘USA’ AND ‘Canada’) |
| Выбрать поле "First Name" из таблицы "Persons". |
| SELECT Persons, FirstName; |
| SELECT FirstName FROM Persons; |
| Update FirstName FROM Persons; |
| Update FirstName SET Persons; |
| Выбрать все записи из таблицы "Persons" при условии, когда значение "FirstName" равно "Peter". |
| SELECT [all] FROM Persons like FirstName: 'Peter' |
| SELECT * FROM Persons WHERE FirstName: 'Peter' |
| SELECT * FROM Persons like 'Peter' |
| SELECT * FROM Persons WHERE FirstName = 'Peter' |
| Выбрать все записи из таблицы "Persons" при условии, когда значения в поле "FirstName" начинаются с 'a'. |
| SELECT * FROM Persons WHERE FirstName LIKE 'a%' |
| SELECT * FROM Persons LIKE FirstName '%a' |
| SELECT * FROM Persons WHERE FirstName = 'a' |
| SELECT * FROM Persons WHERE FirstName LIKE '%a' |
| Выбрать все записи из таблицы "Persons" при условии, когда значения в поле "FirstName" оканчиваются на 'n'. |
| SELECT * FROM Persons WHERE FirstName LIKE 'n%' |
| SELECT * FROM Persons LIKE FirstName '%n' |
| SELECT * FROM Persons WHERE FirstName = 'n' |
| SELECT * FROM Persons WHERE FirstName LIKE '%n' |
| Выбрать все записи из таблицы "Persons" при условии, когда значение "FirstName" равно 'Peter' и "LastName" равно 'Jackson'. |
| SELECT * FROM Persons WHERE FirstName = 'Peter' AND LastName = 'Jackson'; |
| SELECT FirstName = 'Peter', LastName = 'Jackson' FROM Persons; |
| SELECT FirstName AND LastName FROM Persons WHERE FirstName = 'Peter' AND LastName = 'Jackson'; |
| SELECT ALL* FROM Persons WHERE FirstName = 'Peter' AND LastName = 'Jackson'; |
| Выбрать все записи из таблицы "Persons" при условии, что значение поля "LastName" расположено в алфавитном порядке (в т.ч. и равное) между "Hansen" и "Pettersen. |
| SELECT LastName > 'Hansen' AND LastName < 'Pettersen' FROM Persons; |
| SELECT * FROM Persons WHERE LastName BETWEEN 'Hansen' AND 'Pettersen'; |
| SELECT * FROM Customers WHERE LastName > 'Hansen' AND 'LastName < Pettersen'; |
| SELECT * FROM Persons WHERE LastName > 'Hansen', LastName <= 'Pettersen'; |
| Выбрать все записи из таблицы "Persons" при условии, что значение поля "Birthday" приходится на лето 2009 г. (использовать для даты формат SQL Jet) |
| SELECT * FROM Persons WHERE Birthday > 01.06 AND Birthday < 31.08; |
| SELECT * FROM Persons WHERE Birthday BETWEEN #06/01/2009# AND #08.31.2009#; |
| SELECT * FROM Persons WHERE Birthday BETWEEN “июнь” AND “август; |
| SELECT * FROM Persons WHERE Birthday BETWEEN #01.06.2009# AND #31.08.2009#; |
| Выбрать все записи из таблицы 'Persons',отсортировав их по полю FirstName в убывающем порядке. |
| SELECT * FROM Persons ORDER BY - 'FirstName'; |
| SELECT * FROM Persons ORDER BY 'FirstName' DESC; |
| SELECT * FROM Persons WHERE FirstName ORDER BY 'FirstName' DESC; |
| SELECT * FROM Persons SORT REVERS 'FirstName'; |
| Вставить новую запись c полями 'Jimmy', 'Jackson' в таблицу 'Persons'. |
| INSERT INTO Persons VALUES ('Jimmy','Jackson'); |
| INSERT ('Jimmy','Jackson'); INTO Persons; |
| INSERT VALUES ('Jimmy','Jackson') INTO Persons; |
| Вставить значение 'Olsen' в поле 'LastName' таблицы 'Persons'. |
| INSERT ('Olsen') INTO LastName FROM Persons |
| INSERT INTO Persons ('Olsen') INTO LastName; |
| INSERT INTO Persons (LastName) VALUES ('Olsen'); |
| Как можно заменить значение 'Hansen' на 'Nilsen' в поле 'LastName' таблицы 'Persons'? |
| UPDATE Persons SET LastName='Hansen' INTO LastName = 'Nilsen'; |
| SAVE Persons SET LastName='Nilsen' WHERE LastName ='Hansen' ; |
| SAVE Persons SET LastName = 'Hansen' INTO LastName = 'Nilsen'; |
| UPDATE Persons SET LastName='Nilsen' WHERE LastName = 'Hansen'; |
| Как удалить записи из таблицы "Persons' при условии, что значение FirstName равно 'Peter'? |
| DELETE FirstName = 'Peter' FROM Persons; |
| DELETE ROW FirstName = 'Peter' FROM Persons; |
| DELETE FROM Persons WHERE FirstName = 'Peter' ; |
| Как подсчитать количество записей в таблице 'Persons'? |
| SELECT NUMBER FROM Persons; |
| SELECT COLUMNS FROM Persons; |
| SELECT COUNT(*) FROM Persons; |
| SELECT COUNT Persons; |
| Какой из запросов будет равнозначен запросу: SELECT * FROM Music, Tracks WHERE Music.Id=Tracks.Music_Id; |
| SELECT * FROM Music INNER JOIN Tracks ON Music.Id=Tracks.Music_Id; |
| SELECT * FROM Music INNER JOIN Tracks IN Music.ID=Tracks.Music_Id; |
| SELECT * FROM Music INNER JOIN Music.Id ON Tracks = Tracks.Music_Id; |
| SELECT * FROM Music.Id INNER JOIN Tracks.Music_Id IN Tracks=Music; |
| Выбрать все записи из таблицы "Сведения" при условии, что значение поля "Дата_рожд" приходится на лето 1990 г. (использовать для даты формат SQL Jet) |
| SELECT Фам, Имя, Дата_Рожд FROM Сведения WHERE Дата_Рожд>=#06/01/1990# AND Дата_Рожд<=#08/31/1990#; |
| SELECT Фам, Имя, Дата_Рожд FROM Сведения WHERE Дата_Рожд BETWEEN #06/01/1990# AND Дата_Рожд<=#08/31/1990#; |
| SELECT Фам, Имя, Дата_Рожд FROM Сведения WHERE Дата_Рожд BETWEEN #06/01/1990# AND #08/31/1990#; |
| SELECT Фам, Имя, Дата_Рожд FROM Сведения WHERE Дата_Рожд IN (#06/01/1990# , #08/31/1990#); |
| В таблице Успеваемость Группа, Семестр Оц_Матем, Оц_Инф, Оц_Экон для каждой группы найти средний балл по каждому предмету за каждый семестр. Найти ошибку в запросе SELECT Группа, Avg(Оц_Матем) , Avg(Оц_Инф) , Avg(Оц_Экон) FROM Успеваемость GROUP BY Группа; |
| Группировка должна выполняться по всем выводимым полям |
| Недопустимо использование предложения GROUP BY |
| В группу должно быть включено не только поле Группа, но и поле Семестр |
| В группу должно быть включено поле Оц_Матем |
| В таблице Успеваемость c полями Группа, Оц_Матем, Оц_Инф, Оц_Экон для каждой группы найти средний балл по каждому предмету. |
| SELECT Группа, Avg(Оц_Матем) , Avg(Оц_Инф), Avg(Оц_Экон) FROM Успеваемость GROUP BY ГруппА; |
| SELECT Avg(Группа), Avg(Оц_Матем) , Avg(Оц_Инф), Avg(Оц_Экон) FROM Успеваемость GROUP BY Группа; |
| SELECT Группа, Avg(Оц_Матем) , Avg(Оц_Инф), Avg(Оц_Экон) FROM Успеваемость HAVING Группа; |
| SELECT Группа, Avg(Оц_Матем) , Avg(Оц_Инф), Avg(Оц_Экон) FROM Успеваемость GROUP BY Группа HAVING Группа=”Э87” |
| Табл. Ведомость содержит поля: № Smallint, Наим_товара Char(30), код Char(5, кол_во Smallint, Отп_цена Real, Розн_цена Real, Абс_прибыль Real. Какие поля будут выведены при выполнении запроса: SELECT * FROM Ведомость WHERE Отп_цена BETWEEN 150 AND 250; |
| Поля, имеющие тип данных Char |
| Поля, имеющие тип данных Real |
| Поля, имеющие типы данных Smallint |
| Все поля |
| Табл. Ведомость содержит поля: № Smallint, Наим_товара Char(30), код Char(5, кол_во Smallint, Отп_цена Real, Розн_цена Real, Абс_прибыль Real. Какие записи будут выведены при выполнении запроса: SELECT * FROM Ведомость WHERE Отп_цена BETWEEN 150 AND 250; |
| Все записи |
| Записи, в которых значение поля Отп_цена равно 150 или значение поля Отп_цена равно 250 |
| Записи, в которых значение поля Отп_цена больше 150 или значение поля Отп_цена меньше 250 |
| Записи, в которых значение поля Отп_цена находятся в интервале от 150 до 250, не включая эти значения. |
| Записи, в которых значение поля Отп_цена находятся в интервале от 150 до 250, включая эти значения. |
| Запрос Модели на создание таблицы имеет вид: CREATE TABLE Модели (Код Int, Модель Char(15), Мощность Smallint, Цвет Char(15), Зав_цена Int, Торг_наценка Smallint, Розн_цена Int); Будет ли создана таблица в результате выполнения запроса? |
| Да, так как определены все имена полей и типы данных |
| Нет, так как значения полей Модель и Цвет могут выйти за границы диапазона типа Char |
| Нет, так как имя запроса не должно совпадать с именем создаваемой таблицы |
| Да, так как имя запроса совпадает с именем создаваемой таблицы |
| Необходимо удалить таблицу Сведения, содержащую записи. Какими командами Вы воспользуетесь? |
| DROP TABLE Сведения; |
| DELETE FROM Сведения; DROP TABLE Сведения; |
| SELECT DISTINCT Сведения; DROP TABLE Сведения; |
| DELETE FROM Сведения; |
| Необходимо удалить таблицу Сведения, не содержащую записи. Какими командами Вы воспользуетесь? |
| DROP TABLE Сведения; |
| DELETE FROM Сведения; DROP TABLE Сведения; |
| SELECT DISTINCT Сведения; DROP TABLE Сведения; |
| DELETE FROM Сведения; |
| Из таблицы Счета необходимо вывести значения поля Тип_счета, исключив дублирование записей. Как должен выглядеть запрос? |
| DELETE FROM Счета WHERE Тип_счета =”ВД”; |
| SELECT DISTINCT ТИП_СЧЕТА FROM СЧЕТА; |
| SELECT ТИП_СЧЕТА FROM СЧЕТА; |
| DELETE FROM Клиенты WHERE DISTINCT ТИП_СЧЕТА |
| Поля Количество, Опт_цена и Опт_стоимость таблицы Ведомость имеют тип Smallint. Будет ли обновлено поле Опт_стоимость в результате выполнения запроса UPDATE Ведомость SET Опт_стоимость=[Опт_цена]*[Количество]; если Количество=150, Опт_цена = 3220? |
| Да, так как запрос составлен верно |
| Нет, так как диапазон получаемых значений превысит диапазон типа Smallint. |
| Нет, так как запрос составлен неверно. Запрос должен иметь вид: UPDATE Опт_стоимость SET Ведомость=[Опт_цена]*[Количество]; |
| Нет, так как запрос должен иметь вид: UPDATE Опт_стоимость FROM Ведомость WHERE Опт_стоимость=Опт_цена*Количество; |
| Таблица Ведомость содержит поля: № Smallint, Наим_тов Char(30), Кол_во Smallint, Отп_цена Real, Розн_цена Real. Что будет выведено в результате запроса: SELECT * FROM Ведомость WHERE Наим_тов IN ("Яблоки","Орехи"); |
| Вернет все строки, имеющие отношение к товарам Яблоки, Орехи |
| Вернет все строки типа Char, имеющие отношение к товарам Яблоки, Орехи |
| Вернет все строки типа Real, имеющие отношение к товарам Яблоки, Орехи |
| Вернет все строки, не имеющие отношения к товарам Яблоки, Орехи |
| Запрос на создание таблицы имеет имя Модель. В результате выполнения какого запроса будет создана таблица Модели? |
| CREATE TABLE Модель (Код_модели Int, Модель Char(15),, Зав_цена Int, Торг_наценка Smallint, Розн_цена Int); |
| CREATE TABLE Модель (Код модели Int, Модель Char(15), Цвет Зав цена Int, Торг наценка Smallint, Розн цена Int); |
| CREATE TABLE Модели (Код_модели Int, Модель Char(15), Зав_цена Int, Торг_наценка Smallint, Розн_цена Int) |
| CREATE Модели AS TABLE (Код модели Int, Модель Char(15), Зав цена Int, Торг наценка Smallint, Розн цена Int); |
| Будет ли работать следующий запрос: SELECT COUNT * FROM Tracks; |
| Нет, так как справа и слева * отсутствуют круглые скобки |
| Нет, так как не указано имя поля, по которому находится количество |
| Да, так как символ * возвращает все поля таблицы Tracks |
| Нет, так как не используется предложение GROUP BY |
| Нет, так как не используется предложение ORDER BY |
| Будет ли работать следующий запрос: SELECT Tracks_Music.Id, COUNT(N_Tracks) FROM Tracks ORDER BY Tracks_Music.Id GROUP BY N_Tracks; |
| Нет, так как в группу должно быть включено поле N_Tracks |
| Нет, так как предложения GROUP BY и ORDER BY расположены не в том порядке |
| Да, так как в группу включено поле N_Tracks |
| Нет, так как в группу должны быть включены поля Tracks_Music.Id и N_Tracks |
| Будет ли работать следующий запрос: SELECT SUM(St_tov), Kod_tov FROM Vedomost GROUP BY 1 AND 2; |
| Да, так как при использовании предложения GROUP BY допустима ссылка на столбцы с помощью целых чисел |
| Да, так как в предложении GROUP BY допустимо использование AND |
| Нет, так как в предложении GROUP BY нельзя ссылаться на столбцы с помощью целых чисел и нельзя использовать слово AND |
| Нет, так как вместо предложения GROUP BY необходимо использовать предложение ORDER BY |
| Что произойдет при выполнении следующего оператора: DELETE FROM Employee_Tbl WHERE Emp_Id IN (SELECT Emp_Id FROM Employee_Pay_Tbl); |
| Все строки, выбранные из таблицы Employee_Tbl, будут использованы оператором DELETE для удаления из таблицы Employee_Pay_Tbl соотвутствующих записей |
| Все строки, выбранные из таблицы Employee_Pay_Tbl, будут использованы оператором DELETE для удаления из таблицы Employee_Tbl соответствующих записей |
| Будут удалены значения ключевого поля Emp_Id из таблиц Employee_Tbl и Employee_Pay_Tbl |
| Будут удалены таблицы Employee_Tbl и Employee_Pay_Tbl |
| Найти ошибку в запросе: SELECT Music_Id, N_Tracks ORDER BY Tracks FROM Tracks; |
| Вместо предложения ORDER BY необходимо использовать GROUP BY. |
| Необходимо записать ORDER BY Music_Id FROM Tracks; |
| Необходимо поменять местами предложение ORDER BY и FROM Tracks |
| Необходимо записать: FROM Tracks GROUP BY Music_Id, N_Tracks; |
| Есть ли ошибка в запросе: SELECT Music_Id, N_Tracks FROM Tracks WHERE Music_Id=345 ORDER BY 1; |
| Нельзя ссылать на столбцы с помощью целых чисел |
| Ошибок нет |
| Недопустимо использование предложения ORDER BY. |
| Вместо предложения WHERE необходимо использовать предложение HAVING |
| В таблице Ведомость исправьте код товара с 31654 на 31655 |
| UPDATE Kod_tov SET Ведомость WHERE Kod_tov IN 31654 ON 31655; |
| UPDATE Kod_tov SET Ведомость=31655; |
| UPDATE Ведомость SET Kod_tov=31655 WHERE Kod_tov=31654; |
| UPDATE Kod_tov SET Ведомость=31655 WHERE Kod_tov=31654; |
| Таблица Ведомость содержит поля: № Smallint, Наим_товара Char(30), Количество Smallint, Опт_цена Smallint, Опт_стоимость Smallint. В результате выполнения какого запроса будет рассчитано поле Опт_стоимость? |
| UPDATE Ведомость SET Опт_стоимость=[Опт_цена]*[Количество]; |
| UPDATE Опт_стоимость SET Ведомость =[Опт_цена]*[Количество]; |
| UPDATE Опт_стоимость SET Ведомость WHERE Опт_стоимость=[Опт_цена]*[Количество]; |
| UPDATE Опт_стоимость SET [Опт_цена]*[Количество] FROM Ведомость; |
| В таблице Начисления с полями Код, Сумма, Месяц увеличить на 40% начисления за июнь. |
| UPDATE Начисления SET Сумма = [Сумма]*1.4 WHERE Месяц="июнь"; |
| UPDATE Начисления WHERE Месяц="июнь" SET Сумма = [Сумма]*1.4; |
| UPDATE Начисления SET Сумма = [Сумма]*40% WHERE Месяц="июнь"; |
| UPDATE Начисления SET Сумма = [Сумма]*40% GROUP BY (июнь); |
| Вставить значения ‘40’ в поле ‘Код_нач’ и значение 'Пособие' в поле 'Вид_ нач’ таблицы 'Справочник'. |
| INSERT (40) INTO ‘Код_нач’ FROM 'Справочник' |
| INSERT INTO 'Справочник' (' Пособие ') INTO 'Вид_ нач’; |
| INSERT INTO Справочник (Код_нач, Вид_нач) VALUES (40, 'Пособие'); |
| INSERT INTO Справочник (40, 'Пособие') VALUES (‘Код_нач’, 'Вид_ нач’) |
| В таблице Менеджеры с полями №_менеджера Smallint, ФИО Char(25), Категория Smallint менеджеру Рогальскому Б. изменить категорию с 1 на 2 |
| UPDATE Менеджеры SET Категория = 2 WHERE ФИО Like “Рогальский”; |
| UPDATE Менеджеры SET Категория = 2 WHERE ФИО Like “Рогальский*”; |
| UPDATE Менеджеры SET Категория = 2 WHERE ФИО=“Рогальский Б”; |
| UPDATE Менеджеры SET ФИО=“Рогальский Б”; WHERE Категория = 2 |
| В таблице Счета с полями №_счета, Остаток, Тип_счета проиндексиовать поле Остаток, увеличив его на 10% для владельцев счетов типа “ВД”. |
| UPDATE Счета SET Остаток=1.1*Остаток WHERE Тип_счета="ВД"; |
| UPDATE Счета SET Остаток=10%*Остаток WHERE Тип_счета="ВД"; |
| UPDATE Остаток SET Остаток=10%*Остаток WHERE Тип_счета="ВД"; |
| UPDATE Тип_счета SET Остаток=10%*Остаток WHERE Тип_счета="ВД"; |