Для извлечения данных из БД применяется команда SELECT. В упрощенном виде она имеет следующий синтаксис:
SELECT список_столбцов FROM имя_таблицы
Например, пусть ранее была создана таблица Products, и в нее добавлены некоторые начальные данные:
CREATE TABLE Products ( Id SERIAL PRIMARY KEY, ProductName VARCHAR(30) NOT NULL, Manufacturer VARCHAR(20) NOT NULL, ProductCount INTEGER DEFAULT 0, Price NUMERIC ); INSERT INTO Products (ProductName, Manufacturer, ProductCount, Price) VALUES ('iPhone X', 'Apple', 3, 36000), ('iPhone 8', 'Apple', 2, 41000), ('Galaxy S9', 'Samsung', 2, 46000), ('Galaxy S8 Plus', 'Samsung', 1, 56000), ('Desire 12', 'HTC', 5, 28000);
Получим все объекты из этой таблицы:
SELECT * FROM Products;
Символ звездочка * указывает, что нам надо получить все столбцы.
Однако использование символа звездочки * считается не очень хорошей практикой, так как, как правило, не все столбцы бывают нужны. И более оптимальный подход заключается в указании всех необходимых столбцов после слова SELECT. Исключение составляет тот случай, когда надо получить данные по абсолютно всем столбцам таблицы. Также использование символа * может быть предпочтительно в таких ситуациях, когда в точности не известны названия столбцов.
Если нам надо получить данные не по всем, а по каким-то конкретным столбцам, то тогда все эти спецификации столбцов перечисляются через запятую после SELECT:
SELECT ProductName, Price FROM Products;
Спецификация столбца необязательно должна представлять его название. Это может быть любое выражение, например, результат арифметической операции. Так, выполним следующий запрос:
SELECT ProductCount, Manufacturer, Price * ProductCount FROM Products;
Здесь при выборке будут создаваться три столбца. Причем третий столбец представляет значение столбца Price, умноженное на значение столбца ProductCount, то есть совокупную стоимость товара.
С помощью оператора AS можно изменить название выходного столбца или определить его псевдоним:
SELECT ProductCount AS Title, Manufacturer, Price * ProductCount AS TotalSum FROM Products;
В данном случае результатом выборки являются данные по 3-м столбцам. Для первого столбца определяется псевдоним Title, хотя в реальности он будет представлять столбец ProductName. Второй столбец сохраняет свое название - Manufacturer. Третий столбец TotalSum хранит произведение столбцов ProductCount и Price.