Выборка данных. Команда SELECT

Последнее обновление: 27.11.2021

Для получения данных в SQLite применяется команда SELECT. В упрощенном виде она имеет следующий синтаксис:

SELECT список_столбцов FROM имя_таблицы

Прежде всего стоит отметить, что действие команды SELECT не ограничено только получением данных из БД. Так, мы даже можем выполнять с помощью SELECT простейшие вычисления. Например, выполним следующую команду:

SELECT 5 * 6;
SELECT и простейшие вычисления в SQLite

или даже набор вычислений:

SELECT 5 * 6, 
	5 + 6, 
	5 - 6;
SELECT и арифметические операции в SQLite

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

CREATE TABLE users
(
    id INTEGER PRIMARY KEY AUTOINCREMENT,
	name TEXT,
    age INTEGER
);
INSERT INTO users (name, age) VALUES 
('Tom', 37),
('Bob', 41),
('Sam', 29);

Получим все объекты из этой таблицы:

SELECT * FROM users;

Символ звездочка * указывает, что нам надо получить все столбцы.

Команда SELECT и получение данных в SQLite

Если необходимо получить данные не из всех, а из каких-то конкретных столбцов, тогда спецификации этих столбцов перечисляются через запятую после SELECT:

SELECT id, name FROM users;
Выборка данных из отдельных столбцов в SQLite

Спецификация столбца необязательно должна представлять его название. Это может быть любое выражение, например, результат арифметической операции. Допустим, у нас есть следующая таблица:

CREATE TABLE products
(
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    company TEXT NOT NULL,
    product_count INTEGER DEFAULT 0,
    price INTEGER
);
  
INSERT INTO products (name, company, product_count, price)
VALUES
('iPhone 13', 'Apple', 3, 76000),
('iPhone 12', 'Apple', 2, 51000),
('Galaxy S21', 'Samsung', 2, 56000),
('Galaxy S20', 'Samsung', 1, 41000),
('P40 Pro', 'Huawei', 5, 36000);

Таблица products хранит товары. Столбец name хранит название товара, company - производителя, product_count - количество товара в штуках, а price - цену товара.

Например, получим для каждого товара совокупную цену и для этого выполним следующий запрос:

SELECT name, product_count * price
FROM products;

Здесь при выборке будут создаваться два столбца. Причем второй столбец представляет значение столбца product_count, умноженное на значение столбца price.

Производные столбцы в SQLite

С помощью оператора AS можно изменить название выходного столбца или определить его псевдоним:

SELECT name AS title, product_count * price AS total_sum
FROM products;

Здесь для первого столбца определяется псевдоним title, хотя в реальности он будет представлять столбец name. Второй столбец - total_sum хранит произведение столбцов product_count и price.

Псевдонимы столбцов и оператор AS в SQLite
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850