Читаем SQL за 24 часа полностью

Но при работе с данными регистр символов приходится учитывать. В большинстве случаев данные в реляционной базе данных следует сохранять в виде строк, состоящих исключительно из символов верхнего регистра, с целью обеспечения согласованности данных.

Например, данные могут не быть согласованными, если использовать символы верхнего и нижнего регистра одновременно:

SMITH Smith smith

В таком случае если имя хранится как smith, а вы обратитесь к базе данных со следующим запросом, запрос вернет вам пустую строку.

SELECT *

FROM EMPLOYEEJTBL

WHERE LAST_NAME = 'SMITH';

При ссылке на данные базы данных в запросе необходимо указывать данные в том виде, в каком они хранятся в базе данных. При вводе данных придерживайтесь правил, установленных в вашей компании для использования символов верхнего и нижнего регистров.

Примеры простых запросов

Приведем несколько примеров запросов, построенных на основе обсуждавшихся выше принципов. Начнем с самого простого запроса, а затем постепенно будем усложнять его. Для запроса используем таблицу 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 ИМЯ_ТАБЛИЦЫ;

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных