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

Само нужните редове

Проблем

Кое свърши?

Сутрин управителят иска да знае кои продукти трябва да се поръчат, защото са свършили. В таблицата са 25 продукта. Утре ще са 2 500.

Не му трябват всички редове. Трябват му само тези, при които наличността е 0.

Идеята

WHERE

WHERE оставя само редовете, за които условието е вярно:

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

Базата минава през всеки ред, проверява stock = 0 и пази само верните. Условието може да сравнява с всяка колона, а не само с тези в SELECT.

Сравненията са: = равно, <> различно, <, >, <=, >=. Числата се пишат с точка:

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

Текстът е в единични кавички:

SQLбаза: магазин
По-точно, за любопитните

SQLite приема и city = "Пловдив" с двойни кавички, но само по стар навик: ако няма колона с такова име, той го приема за текст. PostgreSQL ще каже, че колона „Пловдив“ няма. Пиши текста в единични кавички и заявката ще работи навсякъде.

Пробвай

Скъпите продукти

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

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

Идеята

AND, OR, NOT

Условията се свързват:

  • AND: и двете трябва да са верни.
  • OR: поне едното е вярно.
  • NOT: обръща условието.

Евтини продукти, от които има много (за промоция „вземи три“):

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

Виж го

Капанът с OR

Маркетингът иска клиентите от София или Пловдив, регистрирани от началото на 2026 г. Ето първия опит. Пусни го и виж датите:

SQLбаза: магазин
1. Заявката с OR и AND върна Мария, регистрирана през 2025 г. Защо?

Със скоби условието казва точно това, което искаш:

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

Щом смесваш AND и OR, слагай скоби, дори когато не са задължителни. Който чете заявката след теб, няма да се чуди.

Пробвай

Чакащите поръчки

Покажи номера, клиента и състоянието на поръчките, които са нови (new) или платени (paid), но още не са изпратени.

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

Упражнение

Две задачи

1. Всички поръчки без отказаните (cancelled). Покажи номера и състоянието. Опитай с NOT.

Поръчките, които не са отказани:

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

2. Магазинът открива склад на морето. Кои клиенти от Варна или Бургас са с нас още от 2025 г.? Покажи името, града и датата на регистрация.

Клиентите от Варна или Бургас, регистрирани преди 2026 г.:

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

Тест

Провери се

1. Как се пише „градът е Варна“?
2. Кое условие намира продуктите, които НЕ струват 2,50 €?
3. Какво връща WHERE status = 'new' AND status = 'paid'?
4. В кой ред се пишат частите на заявката?

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