×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

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

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

1.2.5. Запросы к таблице

Чтобы извлечь данные из таблицы, таблица запрашивается (queried). Для этого используется оператор SQL SELECT. Оператор делится на список выборки (часть, которая перечисляет столбцы для возврата), список таблиц (часть, которая перечисляет таблицы, из которых извлекаются данные) и необязательное условие (часть, которая задаёт любые ограничения). Например, чтобы извлечь все строки таблицы weather, наберите:

SELECT * FROM weather;

Здесь * является сокращением для «все столбцы». [2] Такой же результат был бы получен с:

SELECT city, temp_lo, temp_hi, prcp, date FROM weather;

Вывод должен быть:

     city      | temp_lo | temp_hi | prcp |    date
---------------+---------+---------+------+------------
 San Francisco |      46 |      50 | 0.25 | 1994-11-27
 San Francisco |      43 |      57 |    0 | 1994-11-29
 Hayward       |      37 |      54 |      | 1994-11-29
(3 rows)

В списке выборки можно писать выражения, а не просто ссылки на столбцы. Например, вы можете сделать:

SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, date FROM weather;

Это должно дать:

     city      | temp_avg |    date
---------------+----------+------------
 San Francisco |       48 | 1994-11-27
 San Francisco |       50 | 1994-11-29
 Hayward       |       45 | 1994-11-29
(3 rows)

Обратите внимание, как предложение AS используется для переименования выходного столбца. (Предложение AS необязательно.)

Запрос может быть «ограничен» добавлением предложения WHERE, которое указывает, какие строки нужны. Предложение WHERE содержит логическое (булево) выражение, и возвращаются только строки, для которых логическое выражение истинно. Обычные булевы операторы (AND, OR и NOT) разрешены в условии. Например, следующий запрос извлекает погоду в Сан-Франциско в дождливые дни:

SELECT * FROM weather
    WHERE city = 'San Francisco' AND prcp > 0.0;

Результат:

     city      | temp_lo | temp_hi | prcp |    date
---------------+---------+---------+------+------------
 San Francisco |      46 |      50 | 0.25 | 1994-11-27
(1 row)

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

SELECT * FROM weather
    ORDER BY city;

     city      | temp_lo | temp_hi | prcp |    date
---------------+---------+---------+------+------------
 Hayward       |      37 |      54 |      | 1994-11-29
 San Francisco |      43 |      57 |    0 | 1994-11-29
 San Francisco |      46 |      50 | 0.25 | 1994-11-27

В этом примере порядок сортировки не полностью определён, поэтому вы можете получить строки Сан-Франциско в любом порядке. Но вы всегда получите результаты, показанные выше, если сделаете:

SELECT * FROM weather
    ORDER BY city, temp_lo;

Вы можете запросить удаление повторяющихся строк из результата запроса:

SELECT DISTINCT city
    FROM weather;

     city
---------------
 Hayward
 San Francisco
(2 rows)

Здесь снова порядок строк в результате может варьироваться. Вы можете обеспечить согласованные результаты, используя DISTINCT и ORDER BY вместе: [3]

SELECT DISTINCT city
    FROM weather
    ORDER BY city;



[2] Хотя SELECT * полезен для быстрых запросов, он широко считается плохим стилем в рабочем коде, поскольку добавление столбца в таблицу изменило бы результаты.

[3] В некоторых системах баз данных, включая старые версии Digital Q.DataBase, реализация DISTINCT автоматически упорядочивает строки, и поэтому ORDER BY не нужен. Но это не требуется стандартом SQL, и текущий Digital Q.DataBase не гарантирует, что DISTINCT приводит к упорядочиванию строк.

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению