Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Практические задания по 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 Тип_счета="ВД";
 

 

 



<== предыдущая лекция | следующая лекция ==>
Команды и инструкции языка SQL | Запросы с использованием функций
Поделиться с друзьями:


Дата добавления: 2017-03-18; Мы поможем в написании ваших работ!; просмотров: 896 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лаской почти всегда добьешься больше, чем грубой силой. © Неизвестно
==> читать все изречения...

2354 - | 2220 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.