Само нужните колони
Проблем
Списъкът за бюлетина
Магазинът праща бюлетин с промоции. На колегата от маркетинга му трябват само имената и имейлите на клиентите.
SELECT * дава всичко: номер, град, дата на регистрация. При 20 клиента ще изтрие излишното на ръка. При 200 000 и десет колони вече не.
Идеята
Изброй колоните
Вместо * напиши колоните, които искаш, разделени със запетая:
Колоните идват в реда, в който си ги написал. Размени ги и пусни пак.
Това важи за всяка заявка оттук нататък: взимай само нужното. Базата праща по-малко данни, а който чете заявката, вижда какво точно се ползва.
Пробвай
Ценоразписът
Покажи само името и цената на всеки продукт.
Решение
SELECT name, price FROM products;Две колони, 25 реда. Точно това би сложил на рафта.
Виж го
Една запетая
Тази заявка изглежда почти като първата. Пусни я:
Идеята
Други имена с AS
Колоната може да се покаже с друго име. Това се казва псевдоним (alias) и се пише с AS:
Името без интервали се пише направо. Ако има интервали или кирилица, слагаш го в двойни кавички. Единичните кавички в SQL са за текст, ще ги ползваш в следващия урок.
Псевдонимът не променя таблицата. Сменя само заглавието на колоната в този резултат.
Пробвай
Наличността
Покажи името и наличността на продуктите, но колоните да се казват product и in_stock.
Решение
SELECT name AS product, stock AS in_stock FROM products;SELECT name AS product, stock AS in_stock FROM products; Тук проверката гледа и имената на колоните.
Упражнение
Поръчките накратко
За всяка поръчка покажи номера, датата и състоянието ѝ, без клиента.
Решение
SELECT id, ordered_at, status FROM orders;Три колони: id, ordered_at, status. 60 реда, по един за поръчка.
Тест