Към съдържанието
wannacode

Само нужните колони

Проблем

Списъкът за бюлетина

Магазинът праща бюлетин с промоции. На колегата от маркетинга му трябват само имената и имейлите на клиентите.

SELECT * дава всичко: номер, град, дата на регистрация. При 20 клиента ще изтрие излишното на ръка. При 200 000 и десет колони вече не.

Идеята

Изброй колоните

Вместо * напиши колоните, които искаш, разделени със запетая:

SQLбаза: магазин

Колоните идват в реда, в който си ги написал. Размени ги и пусни пак.

Това важи за всяка заявка оттук нататък: взимай само нужното. Базата праща по-малко данни, а който чете заявката, вижда какво точно се ползва.

Пробвай

Ценоразписът

Покажи само името и цената на всеки продукт.

SQLбаза: магазин

Виж го

Една запетая

Тази заявка изглежда почти като първата. Пусни я:

SQLбаза: магазин
1. Защо SELECT name email FROM customers; върна само една колона, наречена email?

Идеята

Други имена с AS

Колоната може да се покаже с друго име. Това се казва псевдоним (alias) и се пише с AS:

SQLбаза: магазин

Името без интервали се пише направо. Ако има интервали или кирилица, слагаш го в двойни кавички. Единичните кавички в SQL са за текст, ще ги ползваш в следващия урок.

Псевдонимът не променя таблицата. Сменя само заглавието на колоната в този резултат.

Пробвай

Наличността

Покажи името и наличността на продуктите, но колоните да се казват product и in_stock.

SQLбаза: магазин

Упражнение

Поръчките накратко

За всяка поръчка покажи номера, датата и състоянието ѝ, без клиента.

SQLбаза: магазин

Тест

Провери се

1. Какво връща SELECT email, name FROM customers;?
2. Кога псевдонимът се пише в двойни кавички?
3. Защо в програма е по-добре SELECT name, price, отколкото SELECT *?

Създаден от Иво Гергов като част от кампанията на Evo Tech за достъпно обучение по програмиране ·