Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpDpFl 237 of 288 menu
◀ ▶

Фильтры в базе в Rust

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

Дана таблица:

let setup = r#" CREATE TABLE meters ( id INTEGER PRIMARY KEY, zone TEXT NOT NULL, reading REAL NOT NULL ); INSERT INTO meters (zone, reading) VALUES ('a', 10.2); INSERT INTO meters (zone, reading) VALUES ('a', 18.5); INSERT INTO meters (zone, reading) VALUES ('b', 7); "#;

Выведите zone и reading, где reading больше 15.

Дана таблица:

let setup = r#" CREATE TABLE books ( id INTEGER PRIMARY KEY, title TEXT NOT NULL, pages INTEGER NOT NULL ); INSERT INTO books (title, pages) VALUES ('go intro', 120); INSERT INTO books (title, pages) VALUES ('sql basics', 90); INSERT INTO books (title, pages) VALUES ('go tips', 200); "#;

Выведите title, где pages не меньше 100 и не больше 150.

Дана таблица:

let setup = r#" CREATE TABLE tags ( id INTEGER PRIMARY KEY, code TEXT NOT NULL ); INSERT INTO tags (code) VALUES ('red'); INSERT INTO tags (code) VALUES ('blue'); INSERT INTO tags (code) VALUES ('green'); INSERT INTO tags (code) VALUES ('black'); "#;

Выведите code только для "red", "blue" и "green" через список значений в условии.

Дана таблица:

let setup = r#" CREATE TABLE cities ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, pop INTEGER NOT NULL ); INSERT INTO cities (name, pop) VALUES ('oslo', 700000); INSERT INTO cities (name, pop) VALUES ('bergen', 280000); INSERT INTO cities (name, pop) VALUES ('trondheim', 210000); "#;

Выведите имена городов по убыванию pop.

Дана таблица:

let setup = r#" CREATE TABLE files ( id INTEGER PRIMARY KEY, name TEXT NOT NULL ); INSERT INTO files (name) VALUES ('report.txt'); INSERT INTO files (name) VALUES ('photo.jpg'); INSERT INTO files (name) VALUES ('data.csv'); INSERT INTO files (name) VALUES ('notes.md'); "#;

Выведите name, где имя заканчивается на ".txt" или на ".csv".

Дана таблица:

let setup = r#" CREATE TABLE shifts ( id INTEGER PRIMARY KEY, worker TEXT NOT NULL, hours INTEGER NOT NULL ); INSERT INTO shifts (worker, hours) VALUES ('ann', 8); INSERT INTO shifts (worker, hours) VALUES ('bob', 4); INSERT INTO shifts (worker, hours) VALUES ('kim', 6); "#;

Выведите worker, где hours не равно 8.

Дана таблица:

let setup = r#" CREATE TABLE events ( id INTEGER PRIMARY KEY, kind TEXT NOT NULL, priority INTEGER NOT NULL ); INSERT INTO events (kind, priority) VALUES ('error', 3); INSERT INTO events (kind, priority) VALUES ('info', 1); INSERT INTO events (kind, priority) VALUES ('warn', 2); INSERT INTO events (kind, priority) VALUES ('debug', 1); "#;

Выведите kind, где priority выше 1 и kind не "debug". Параметры передайте через знак вопроса.

Дана таблица:

let setup = r#" CREATE TABLE ranks ( id INTEGER PRIMARY KEY, nick TEXT NOT NULL, score INTEGER NOT NULL ); INSERT INTO ranks (nick, score) VALUES ('ann', 90); INSERT INTO ranks (nick, score) VALUES ('bob', 70); INSERT INTO ranks (nick, score) VALUES ('kim', 85); INSERT INTO ranks (nick, score) VALUES ('leo', 60); "#;

Выведите nick трех лучших по score при сортировке по убыванию.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить