DB2 – система управления реляционными базами данных. Заданное число упорядоченных столбцов и неупорядоченные строки, страница 12

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


Простой SELECT

 


SQL оператор                                             Выводимые столбцы

 


SELECT         *

FROM     company


Выбранные из

таблицы данные

 


Простейшая форма предложения SELECT:

            SELECT * FROM имя_таблицы

Символ * сигнализирует о том, что вы хотите вывести на экран данные из всех столбцов таблицы. Так как отсутствует ограничение, то будут выведены на экран все строки таблицы.


Базовые предикаты

=                                      Равно

< >                                   Не равно

<                                      Меньше

>                                      Больше

< =                                   Меньше либо равно

> =                                   Больше либо равно

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

Пример:

SELECT * FROM DSN8410.DEPT

WHERE DEPNO = ‘A00’

SELECT * FROM company

WHERE revenue < expenses

Проверяемой величиной могут быть столбцы, константы или выражения.

Базовые предикаты сравнивают два значения. Если значение любого из операндов NULL или результат подзапроса – пустая таблица, результат сравнения – NULL. Иначе – результат “правда” или “ложь”.

Подзапрос в базовом предикате не должен возвращать более одного значения.


Выборка значений требуемых строк

SELECT  *

FROM  company

WHERE company_no > 3

 


 Выборка требуемых строк

 по условию

 


Ключевое слово WHERE используется для выборки значений строк, которые удовлетворяют некоторому критерию. WHERE может содержать не только одиночную проверку, но также имеется возможность использования нескольких условий, соединенных логическими операторами AND, OR.

Пример:

SELECT * FROM company

WHERE company_no > 3 AND company_no < 12


Предикаты

·  BETWEEN

·  EXIST

·  LIKE

·  IN

·  IS NULL

·  NOT

Кроме 6 базовых предикатов имеются более сложные предикаты, которые также можно использовать.


BETWEEN

SELECT * FROM company

WHERE company_no BETWEEN 3 AND 10


Определение                                          Определение начального значения                              конечного значения

 


BETWEEN используется для определения интервала значений между (и включая) двумя пределами.

Первая величина устанавливает начало интервала; вторая величина – конец. Указывать AND между двумя значениями обязательно.


LIKE

SELECT * FROM company

WHERE co_name LIKE ‘Computer%’

_     Обозначает любой одиночный символ

%    Обозначает любое число символов

При обычном сравнении (=, <, >, и им подобные) сравнение выполняется для заданной строки символов (в том виде, в котором она задана). LIKE позволяет нам использовать заменяющий символ.

Пример выборки информации о всех служащих, чьи имена начинаются со Sm:

SELECT * FROM names

WHERE LastName LIKE ‘Sm%’

Используются два разделяющих символа: символ подчеркивания (_) и символ процента (%). Подчеркивание используется для замены любого одиночного символа. Процент используется для замены любого числа символов, включая также отсутствие символов.

Чтобы найти столбец, который содержит подстроку, используйте знак процента в начале и в конце шаблона, например:

SELECT * FROM names

WHERE LastName LIKE ‘%ton%’


IN

Таблица                                                      Результат


Peter                                                             Tom