Практикум по дисциплине «Базы данных» Армавир, 2011 Печатается по решению редакционно-издательского совета



бет5/21
Дата04.10.2022
өлшемі1 Mb.
#41367
түріПрактикум
1   2   3   4   5   6   7   8   9   ...   21
Байланысты:
sql metod

Задания:

  1. Вывести данные из таблицы DANNIE.

  2. Вывести данные из таблицы DISCHIPLINA.

  3. Вывести фамилии всех студентов.

  4. Вывести названия всех групп.

  5. Вывести фамилии, имена, телефоны, паспортные данные студентов.

  6. Вывести фамилии родителей и телефоны.

  7. Вывести названия городов, названия улиц.

  8. Вывести названия предметов и фамилии преподавателей.

  9. Вывести фамилии и дату рождения студентов, переименовав поле DATE_ROGNEN в ДЕНЬ_РОЖДЕНИЯ.

  10. Вывести названия улиц, переименовав поле NAZVANIE в УЛИЦЫ.

  11. Вывести список улиц, исключив повторяющиеся значения.

  12. Вывести различные имена студентов.

  13. Вывести первую в списке специальность.

  14. Вывести с 6 по 10 строки таблицы RODITELI.



Лабораторная работа №3

Уточнения запросов



Цель работы: Научиться создавать запросы с условием, в т.ч. с использованием логических операторов, сортировать данные по возрастанию и убыванию.
Ключевые слова: операторы WHERE, GROUP BY, ORDER BY, HAVING ,IN, BETWEEN, LIKE, is NULL.
Теоретический материал:
Использование в операторе SELECT предложения, определяемого ключевым словом WHERE (где), позволяет задавать выражение условия (предикат), принимающее значение истина или ложь для значений полей строк таблиц, к которым обращается оператор SELECT. Предложение WHERE определяет, какие строки указанных таблиц должны быть выбраны. В таблицу, являющуюся результатом запроса, включаются только те строки, для которых условие (предикат), указанное в предложении WHERE, принимает значение истина.
В задаваемых в предложении WHERE условиях могут использоваться операции сравнения, определяемые операторами = (равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), <> (не равно), а также логические операторы AND, OR и NOT.



  1. Выбрать студентов 3 группы.

SELECT * FROM DANNIE WHERE KOD_GRUPPY=3

  1. Вывести родителей, работающих водителями и поварами.

SELECT FIO_ROD FROM RODITELI WHERE RABOTA=’ВОДИТЕЛЬ’ OR RABOTA=’ПОВАР’

Оператор GROUP BY (группировать по) служит для группировки записей по значениям одного или нескольких столбцов. Он собирает записи в группы и упорядочивает группы по алфавиту (точнее по ASCII- кодам символов).





  1. Вывести родителей студентов сгруппированных по месту работы.

SELECT RABOTA, FIO_ROD FROM RODITELI GROUP BY RABOTA

Оператор HAVING (имеющие, при условии) обычно применяются совместно с оператором группировки GROUP BY и задает фильтр записей в группах





  1. Вывести родителей студентов сгруппированных по месту работы, если они водители или учителя.

SELECT RABOTA, FIO_ROD FROM RODITELI GROUP BY RABOTA HAVING (RABOTA=‘ВОДИТЕЛЬ’) OR (RABOTA=’УЧИТЕЛЬ’)

При задании логического условия в предложении WHERE могут быть использованы операторы IN, BETWEEN, LIKE, IS NULL.


Операторы IN (равен любому из списка) и NOT IN (не равен ни одному из списка) используются для сравнения проверяемого значения поля с заданным списком. Этот список значений указывается в скобках справа от оператора IN.
Построенный с использованием IN предикат (условие) считается истинным, если значение поля, имя которого указано слева от IN, совпадает (подразумевается точное совпадение) с одним из значений, перечисленных в списке, указанном в скобках справа от IN.
Предикат, построенный с использованием NOT IN, считается истинным, если значение поля, имя которого указано слева от NOT IN, не совпадает ни с одним из значений, перечисленных в списке, указанном в скобках справа от NOT IN.



  1. Вывести родителей, работающих водителями и поварами.

SELECT FIO_ROD FROM RODITELI WHERE RABOTA IN (‘ВОДИТЕЛЬ’, ’ПОВАР’)



  1. Вывести всех родителей, кроме работающих учителями и врачами.

SELECT FIO_ROD FROM RODITELI WHERE RABOTA NOT IN (‘УЧИТЕЛЬ’, ’ВРАЧ’)

Оператор BETWEEN используется для проверки условия вхождения значения поля в заданный интервал, то есть вместо списка значений атрибута этот оператор задает границы его изменения.





  1. Вывести информацию о родителях с кодом от 2 до 9:

SELECT * FROM RODITELI WHERE KOD_RODITEL BETWEEN 2 AND 10;

Левая граница (в данном случае 2) входит во множество значений, с которыми производится сравнение, правая граница (в данном случае 10) не входит. Оператор BETWEEN может использоваться как для числовых, так и для символьных типов полей.





  1. Вывести фамилии родителей, заглавные буквы которых находятся в диапозоне от А до И.

SELECT * FROM RODITELI WHERE FAM BETWEEN ‘А’ AND ‘К’;

Оператор LIKE (поиск значений, удовлетворяющих образцу) просматривает строковые значения полей с целью определения, входит ли заданная в операторе LIKE подстрока (образец поиска) в символьную строку-значение проверяемого поля.


Для выборки строковых значений по заданному образцу подстроки можно применять шаблон искомого образца строки, использующий следующие символы:
• символ подчеркивания «_», указанный в шаблоне, определяет возможность наличия в указанном месте одного любого символа;
• символ «%» допускает присутствие в указанном месте проверяемой строки последовательности любых символов произвольной длины.
Этот оператор применим только к символьным полям типа CHAR или VARCHAR.



  1. Выбрать сведения о родителях, фамилии которых начинаются на букву «П».

SELECT * FROM RODITELI WHERE FAM LIKE 'П%'

Оператор IS NULL выводит строки, содержащие значение NULL в проверяемом поле.





  1. Выбрать записи, содержащие пустые значения в данных о работе родителей.

SELECT * FROM RODITELI WHERE RABOTA IS NULL;

Для сортировки в SQL существует ключевое слово ORDER BY, после которого указывается имя столбца, по которому будет происходить сортировка. Команда имеет следующий синтаксис:



SELECT <поля> FROM <таблица> ORDER BY <поле>

После ORDER BY <поле> можно указать направление сортировки. По умолчанию записи сортируются по возрастанию (ASC), ключевое слово DESC задает сортировку в порядке, обратном алфавитному.





  1. Отсортировать фамилии родителей в алфавитном порядке.

SELECT FIO_ROD FROM RODITELI ORDER BY FIO_ROD



  1. Отсортировать место работы родителей в порядке, обратном алфавитному.

SELECT RABOTA FROM RODITELI ORDER BY RABOTA DESC

Сортировку можно производить сразу по нескольким столбцам. В этом случае сортировка идет сначала по первому полю в указанном направлении, а если в этом столбце есть одинаковые значения, то они будут отсортированы по второму полю.





  1. Отсортировать место работы родителей в алфавитном порядке, а фамилии в порядке, обратном алфавитному.

SELECT FIO_ROD , RABOTA FROM RODITELI ORDER BY FIO_ROD, FIO_ROD DESC;




Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   21




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет