Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Выборка данных с помощью условий



Теперь более подробно рассмотрим формат оператора SELECT. Его полный формат имеет вид:

SELECT имена_столбцов from имя_таблицы [WHERE...условия];

В операторе SELECT условия являются необязательными.

Оператор SELECT без условий выводит все данные из указанных столбцов. Одним из достоинств RDBMS является возможность извлекать данные на основе определенных условий.

Теперь перейдём к рассмотрению операторов сравнения.

Операторы сравнения = и! =

SELECT f_name, l_name from employee_data where f_name = 'Иван';

Результат запроса приведен на рис. 5.4.


Рис. 5.4. Выборка столбцов с условием для поля " имя".

Этот оператор выводит имена и фамилии всех сотрудников, которые имеют имя Иван. Отметим, что слово Иван в условии заключено в одиночные кавычки. Можно использовать также двойные кавычки. Кавычки являются обязательными, так как MySQL будет порождать ошибку при их отсутствии. Кроме того сравнения MySQL не различают регистр символов, что означает, что с равным успехом можно использовать " Иван", " иван" и даже " ИвАн".

SELECT f_name, l_name from employee_data where title=" программист";

Результат запроса приведен на рис. 5.5.


Рис. 5.5. Выборка столбцов с условием для поля " должность"

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

SELECT f_name, l_name from employee_data where age = 32;

Результат запроса приведен на рис. 5.6.


Рис. 5.6. Выборка столбцов с условием для поля " возраст"

Это список имен и фамилий всех сотрудников с возрастом 32 года. Вспомните, что тип столбца age был задан как int, поэтому кавычки вокруг 32 не требуются. Это - незначительное различие между текстовым и целочисленным типами столбцов.

Оператор! = означает 'не равно' и является противоположным оператору равенства.

Операторы больше и меньше

Давайте получим имена и фамилии всех сотрудников, которые старше 32 лет.

SELECT f_name, l_name from employee_data where age > 32;

Результат запроса приведен на рис. 5.7.


Рис. 5.7. Выборка столбцов с условием " больше" для поля " возраст"

Попробуем найти сотрудников, которые получают зарплату больше 120000.

SELECT f_name, l_name from employee_data where salary > 120000;

Результат запроса приведен на рис. 5.8.


Рис. 5.8. Выборка столбцов с условием " больше" для поля " зарплата"

Теперь перечислим всех сотрудников, которые имеют стаж работы в компании менее 3 лет.

SELECT f_name, l_name from employee_data where yos < 3;

Результат запроса приведен на рис. 5.9.


Рис. 5.9. Выборка столбцов с условием " меньше" для поля " стаж"

Операторы < = и > =

Используемые в основном с целочисленными данными операторы меньше или равно (< =) и больше или равно (> =) обеспечивают дополнительные возможности.

select f_name, l_name, age, salaryfrom employee_data where age > = 32;

Результат запроса приведен на рис. 5.10.


Рис. 5.10. Выборка столбцов с условием " больше или равно" для поля " возраст"

Выборка содержит имена, возраст и зарплаты сотрудников, которым больше 32 лет.

select f_name, l_name from employee_data where yos < = 2;

Результат запроса приведен на рис. 5.11.


Рис. 5.11. Выборка столбцов с условием " меньше или равно" для поля " стаж"

Запрос выводит имена сотрудников, которые работают в компании меньше 3 лет.

Задания

1. Напишите оператор SELECT для извлечения идентификационного номера сотрудников, которые старше 30 лет.

2. Напишите оператор SELECT для извлечения имен и фамилий всех Web-разработчиков.

3. Что выведет следующий оператор SELECT:

SELECT * from employee_data where salary < =100000;

4. Как вывести зарплаты и надбавки сотрудников, которые получают в качестве надбавок более 16000?

5. Перечислите имена всех сотрудников (фамилия, а затем имя), которые занимают должность бухгалтера.

Возможные решения

1. select emp_id from employee_data where age > 30;

2. select f_name, l_name from employee_data where title='web designer';

3. Следующий оператор выводит всю информацию о сотрудниках, которые получают зарплату не больше 100000.

SELECT * from employee_data where salary < =100000;

4. select salary, perks from employee_data where perks > = 16000;

5. select l_name, f_name from employee_data where title = 'бухгалтер';


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-03-17; Просмотров: 1158; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.012 с.)
Главная | Случайная страница | Обратная связь