Примеры простых запросов
Приведем несколько примеров запросов, построенных на основе обсуждавшихся выше принципов. Начнем с самого простого запроса, а затем постепенно будем усложнять его. Для запроса используем таблицу EMPLOYEE_TBL.
Выберем все записи в таблице и все ее столбцы.
SELECT FROM EMPLOYEEJTBL;
Выберем все записи в таблице и отобразим ее заданный столбец.
SELECT EMP_ID FROM EMPLOYEE_TBL;
При этом можно разместить весь оператор в одной строке или разделить его на несколько строк.
SELECT EMP_ID FROM EMPLOYEEJTBL;
Выберем все записи в таблице и отобразим несколько ее столбцов.
SELECT EMP_ID, LAST_NAME FROM EMPLOYEEJTBL;
Отобразим данные, удовлетворяющие заданному условию.
SELECT EMP_ID, LAST_NAME
FROM EMPLOYEEJTBL
WHERE EMP_ID = '333333333';
Отобразим данные, удовлетворяющие заданному условию,'и отсортируем вывод.
SELECT EMP_ID, LAST_NAME FROM EMPLOYEEJTBL WHERE CITY = 'INDIANAPOLIS' ORDER BY EMP_ID;
Отобразим данные, удовлетворяющие заданному условию, и отсортируем вывод по нескольким столбцам, причем для одного из столбцов это порядок по убыванию.
SELECT EMP_ID, LAST_NAME
FROM EMPLOYEE_TBL
WHERE CITY = ' INDIANAPOLIS '
ORDER BY EMP_ID, LAST_NAME DESC;
Отобразим данные, удовлетворяющие заданному условию, и отсортируем вывод, указав вместо имени столбца для сортировки замещающее его целое значение.
SELECT EMP_ID, LAST_NAME FROM EMPLOYEEJTBL WHERE CITY = 'INDIANAPOLIS' ORDER BY 1;
Отобразим данные, удовлетворяющие заданному условию, и отсортируем вывод по нескольким столбцам, указав вместо имен столбцов для сортировки замещающие эти имена целые значения в порядке, отличном от порядка столбцов в списке после ключевого слова SELECT.
SELECT EMP_ID, LAST_NAME FROM EMPLOYEEJTBL WHERE CITY = 'INDIANAPOLIS' ORDER BY 2, 1;
При выборе всех столбцов из таблицы с большим числом строк можно получить в ответ очень большое количество данных.
Подсчет записей в таблице
С помощью простого запроса к таблице можно быстро получить информацию о числе содержащихся в таблице записей. Подсчет осуществляется с помощью функции COUNT. Хотя функции предполагается обсудить в книге позже, эту функцию мы приводим здесь ввиду того, что она часто используется в простых запросах.
Синтаксис использования функции COUNT в запросах следующий.
SELECT COUNT(*) FROM ИМЯ_ТАБЛИЦЫ;
Функция COUNT используется со скобками, в которых указывается столбец, по которому следует вести подсчет, либо звездочка, если нужно посчитать все строки в таблице. Подсчитаем все записи в таблице PRODUCTSJTBL.
SELECT COUNT(*) FROM PRODUCTS_TBL;
COUNT(*)
--------
9
1 строка выбрана.
Подсчитаем теперь число значений для столбца PROD_ID в таблице PRODUCTS_TBL.
SELECT COUNT(PROD_ID) FROM PRODUCTS_TBL;
COUNT(PROD_ID)
9
1 строка выбрана.
Подсчет числа значений в столбце даст тот же результат, что и подсчет числа всех строк таблицы, если столбец имеет атрибут NOT NULL (т. е задает обязательное поле).
Получение данных из таблиц других пользователей
Чтобы иметь возможность обратиться к данным другого пользователя, нужно иметь на это разрешение. Пользователи, не являющиеся владельцами таблицы, без разрешения получить доступ к этой таблице не могут. Только после того, как разрешение на доступ получено (соответствующая команда GRANT обсуждается в ходе урока 20, "Создание и использование представлений и синонимов"), вы получаете возможность извлечь данные из таблицы другого пользователя. Чтобы обратиться к данным таблицы другого пользователя с помощью оператора SELECT, перед именем таблицы укажите имя соответствующей схемы, как это сделано в следующем примере.
SELECT EMP_ID
FROM SCHEMA.EMPLOYEE_TBL
Если для таблицы, к которой нужно получить доступ, в бадеГданных-имзется синоним, имя схемы указывать не обязательно Синонимы - это альтернативные имена таблиц, они обсуждаются в ходе урока 21, "Работа с системным каталогом".
Псевдонимы столбцов
Псевдонимы столбцов в запросах назначаются столбцам для использования псевдонимов вместо имен при выводе результатов запроса.
SELECT ИМЯ_СТОЛБЦА ПСЕВДОНИМ FROM ИМЯ_ТАБЛИЦЫ;
Использование псевдонимов иллюстрируется следующим примером с таблицей PRODUCTS_TBL. Здесь столбец с описаниями товаров отображается дважды, но второй раз столбец отображается с именем ТОВАР (обратите внимание на названия выводимых столбцов).
SELECT PROD_DESC,
PROD_DESC ТОВАР FROM PRODUCTS_TBL;
PROD_DESC ТОВАР
КОСТЮМ ВЕДЬМЫ
КОСТЮМ ВЕДЬМЫ
ПЛАСТИКОВЫЕ ТЫКВЫ
ПЛАСТИКОВЫЕ ТЫКВЫ
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ
ФОНАРИ
ФОНАРИ
КОСТЮМЫ В АССОРТИМЕНТЕ
Читать дальше