W Cat - SQL за 24 часа
- Название:SQL за 24 часа
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
W Cat - SQL за 24 часа краткое содержание
SQL за 24 часа - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Операция - это символ или ключевое слово SQL, использующееся для связывания элементов в операторе SQL.
Синтаксис оператора SELECT, использующего выражение WHERE следующий.
SELECT [ ALL | * | DISTINCT СТОЛБЕЦ!, СТОЛБЕЦ2 ] FROM ТАБЛИЦА! [ , ТАБЛИЦА2 ] WHERE [ УСЛОВИЕ! | ВЫРАЖЕНИЕ! ] [ AND УСЛОВИЕ2 | ВЫРАЖЕНИЕ2 ];
Вот простой запрос без использования ключевого слова WHERE.
SELECT *
FROM PRODUCTS_TBL;
PROD_ID PROD_DESC COST
11235 КОСТЮМ ВЕДЬМЫ 29.99
222 ПЛАСТИКОВЫЕ ТЫКВЫ 7.75
13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1
90 ФОНАРИ 14.5
15 КОСТЮМЫ В АССОРТИМЕНТЕ 10
9 СЛАДКАЯ КУКУРУЗА 1.35
6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45
87 ПЛАСТИКОВЫЕ ПАУКИ 1.05
119 МАСКИ В АССОРТИМЕНТЕ 4.95
1234 ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 5.95
2345 ПОЛОЧКА ИЗ ДУБА 59.99
11 строк выбраны.
Добавим в тот же запрос условие.
SELECT * FROM PRODUCTSJTBL WHERE COST < 5;
PROD_ID PROD_DESC COST
13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1
9 СЛАДКАЯ КУКУРУЗА 1.35
6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45
87 ПЛАСТИКОВЫЕ ПАУКИ 1.05
119 МАСКИ В АССОРТИМЕНТЕ 4.95
5 строк выбраны.
Теперь показаны только строки с информацией о товарах стоимостью меньше $5. С помощью следующего запроса извлекается информация о товаре с кодовым номером 119.
SELECT PROD_DESC,
COST FROM PRODUCTS_TBL
WHERE PROD_ID = '119';
PROD_DESC COST
МАСКИ В АССОРТИМЕНТЕ 4.95
1 строка выбрана.
Обычно требуется, чтобы выводимые данные были как-то упорядочены. Выводимые данные можно упорядочить с помощью выражения, связанного с ключевым словом ORDER BY. Упорядочение, задаваемое с помощью ключевого слова ORDER BY, по умолчанию будет упорядочением по возрастанию, обозначается A-Z (А-Я) в случае сортировки имен. Алфавитное упорядочение по убыванию соответствует порядку Z-А (Я-А). Для числовых значений между 1 и 9 упорядочение по возрастанию обозначается 1-9, а по убыванию - 9- 1.
Синтаксис оператора SELECT, использующего выражение ORDER BY, следующий.
SELECT [ ALL | * | DISTINCT СТОЛБЕЦ1, СТОЛБЕЦ2 ]
FROM ТАБЛИЦА1 [ , ТАБЛИЦА2 ]
WHERE [ УСЛОВИЕ1 | ВЫРАЖЕНИЕ1 ] [ AND УСЛОВИЕ2 | ВЫРАЖЕНИЕ2 ]
ORDER BY СТОЛБЕЦ1|ЦЕЛОЕ_ЗНАЧЕНИЕ [ ASC|DESC ];
Для примера использования ключевого слова ORDER BY расширим один из использовавшихся выше операторов. Отсортируем вывод по описаниям товаров в порядке возрастания (алфавитном порядке). Обратите внимание на использование опции ASC. В выражении, задаваемом ключевым словом ORDER BY, эта опция может указываться после имени каждого из столбцов.
SELECT PROD_DESC, PROD_ID, COST
FROM PRODUCTS_TBL
WHERE COST < 20
ORDER BY PROD_DESC ASC;
PROD_DESC PROD_ID COST
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 13 1.1
КОСТЮМЫ В АССОРТИМЕНТЕ 15 10
МАСКИ В АССОРТИМЕНТЕ 119 4.95
ПЛАСТИКОВЫЕ ПАУКИ 87 1.05
ПЛАСТИКОВЫЕ ТЫКВЫ 222 7.75
СЛАДКАЯ КУКУРУЗА 9 1.35
ТЫКВЕННЫЕ КОНФЕТЫ б 1.45
ФОНАРИ 90 , 14.5
8 строк выбраны.
Ввиду того, что порядок по возрастанию является порядком, принимаемым по умолчанию, нет необходимости указывать ASC вообще.
Можно также использовать DESC, как это сделано в следующем примере, чтобы отсортировать вывод в порядке, обратном алфавитному.
SELECT PRODJDESC, PROD_ID, COST
FROM PRODUCTS_TBL
WHERE COST < 20
ORDER BY PROD_DESC DESC;
PROD_DESC PROD_ID COST
ФОНАРИ 90 14.5
ТЫКВЕННЫЕ КОНФЕТЫ 6 1.45
СЛАДКАЯ КУКУРУЗА 9 1.35
ПЛАСТИКОВЫЕ ТЫКВЫ 222 7.75
ПЛАСТИКОВЫЕ ПАУКИ 87 1.05
МАСКИ В АССОРТИМЕНТЕ 119 4.95
КОСТЮМЫ В АССОРТИМЕНТЕ 15 10
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 13 1.1
8 строк выбраны.
В SQL предлагаются и некоторые сокращения. Столбец, указанный в списке ключевого слова ORDER BY, можно заменить числом. ЦЕЛОЕ_ЗНАЧЕНИЕ является значением, замещающим действительное имя столбца и соответствующим порядку столбца в списке после ключевого слова SELECT. Вот пример использования числового идентификатора вместо имени столбца.
SELECT PROD_DESC,
PROD_ID,
COST FROM PRODUCTS_TBL
WHERE COST < 20
ORDER BY 1;
PROD_DESC PROD_ID COST
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 13 1.1
КОСТЮМЫ В АССОРТИМЕНТЕ 15 10
МАСКИ В АССОРТИМЕНТЕ 119 4.95
ПЛАСТИКОВЫЕ ПАУКИ 8"? 1.05
ПЛАСТИКОВЫЕ ТЫКВЫ 222 7.75
СЛАДКАЯ КУКУРУЗА 9 1.35
ТЫКВЕННЫЕ КОНФЕТЫ 6 1.45
ФОНАРИ 90 14.5
8 строк выбраны.
В этом запросе целое значение 1 представляет столбец PROD_DESC. Точно так же 2 представляет столбец PROD_ID, 3 - COST и т.д.
Можно задать упорядочение по нескольким столбцам, используя либо имена столбцов, либо соответствующие им в списке SELECT номера:
ORDER BY 1,2,3
Столбцы в выражении ORDER BY не обязательно должны быть в том же порядке, каком они указаны в списке после ключевого слова SELECT, например, как в случае ORDER BY 1,3,2
Для правильного применения запросов очень важно понимание принципов учета регистра символов в SQL. Обычно команды и ключевые слова SQL регистронезави-симы, т. е. вы имеете возможность комбинировать в них символы верхнего и нижнего регистров так, как вам нравится. Подробнее об этом говорилось в ходе урока 5, "Манипуляция данными".
Но при работе с данными регистр символов приходится учитывать. В большинстве случаев данные в реляционной базе данных следует сохранять в виде строк, состоящих исключительно из символов верхнего регистра, с целью обеспечения согласованности данных.
Например, данные могут не быть согласованными, если использовать символы верхнего и нижнего регистра одновременно:
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;
Отобразим данные, удовлетворяющие заданному условию, и отсортируем вывод по нескольким столбцам, причем для одного из столбцов это порядок по убыванию.
Читать дальшеИнтервал:
Закладка: