PostgreSQL IN, Не IN с примери
⚡ Умно обобщение
PostgreSQL Операторът IN проверява дали дадена стойност се появява в списък или подзаявка в клауза WHERE, замествайки множество условия OR в операторите SELECT, UPDATE, INSERT и DELETE за по-чисто, по-бързо и по-четливо филтриране.
Какво е PostgreSQL ВЪТРЕ?
Операторът IN се използва в клауза WHERE, която позволява проверка дали дадена стойност присъства в списък с други стойности. Операцията IN помага за намаляване на необходимостта от множество условия OR в операторите SELECT, UPDATE, INSERT или DELETE.
Синтаксис
Операторът IN приема следния синтаксис:
value IN (value_1, value_2, ...)
Стойността е стойността, която проверявате в списъка.
Стойността_1, стойността_2… са стойностите в списъка.
Ако стойността е намерена в списъка, операторът ще върне истина.
Списъкът може да бъде набор от числа или низове, или дори изходният резултат от SELECT израз както е показано по-долу:
value IN (SELECT value FROM table-name);
Изявлението, поставено в скобите, е известно като подзаявка.
PostgreSQL С характер
Нека демонстрираме как можете да използвате оператора IN със стойности на знаци.
Разгледайте следната таблица:
Служители:
Нека изпълним следната заявка спрямо горната таблица:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Връща следното:
Имаме списък с три имена. Търсим дали можем да намерим някое от тези имена в колоната „Име“ на таблицата „Служители“. Името на Кейт Джоел беше съпоставено с един от записите в таблицата и бяха върнати данните за него.
PostgreSQL Вход с цифрови
Сега нека видим как можем да използваме оператора IN с числови стойности.
Разгледайте таблицата с цените, дадена по-долу:
Цена:
Можем да изпълним следната заявка към таблицата:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Това връща следното:
Създадохме списък с 4 числови стойности. Проверяваме дали можем да съпоставим някоя от тези стойности със стойностите, съдържащи се в ценовата колона на таблицата с цени. Бяха съпоставени две стойности и техните подробности бяха върнати.
Използване на НЕ OperaTor
Операторът IN може да се използва заедно с оператора NOT. Връща стойностите, които не са намерени в указаната колона. Ще използваме таблицата с цените, за да демонстрираме това.
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Това ще върне следното:
Създадохме списък с 4 числови стойности. Проверяваме ценовата колона на ценовата таблица за стойности, които не са част от списъка. Две стойности, 250 и 300, не бяха намерени. Следователно техните данни са върнати.
Използване на pgAdmin
Отвъд SQL обвивката, същите IN и NOT IN заявки могат да се изпълняват визуално чрез интерфейса pgAdmin.
С характер
За да постигнете същото чрез pgAdmin, направете следното:
Стъпка 1) Влезте във вашия pgAdmin акаунт.
Стъпка 2)
- От лентата за навигация вляво щракнете върху Бази данни.
- Щракнете върху Демо.
Стъпка 3) Въведете заявката в редактора на заявки:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Стъпка 4) Щракнете върху бутона Изпълнение.
Трябва да върне следното:
С числови
За да постигнете същото чрез pgAdmin, направете следното:
Стъпка 1) Влезте във вашия pgAdmin акаунт.
Стъпка 2)
- От лентата за навигация вляво щракнете върху Бази данни.
- Щракнете върху Демо.
Стъпка 3) Въведете заявката в редактора на заявки:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Стъпка 4) Щракнете върху бутона Изпълнение.
Трябва да върне следното:
Използване на НЕ OperaTor
За да постигнете същото чрез pgAdmin, направете следното:
Стъпка 1) Влезте във вашия pgAdmin акаунт.
Стъпка 2)
- От лентата за навигация вляво щракнете върху Бази данни.
- Щракнете върху Демо.
Стъпка 3) Въведете заявката в редактора на заявки:
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Стъпка 4) Щракнете върху бутона Изпълнение.
Трябва да върне следното:
Изтеглете базата данни, използвана в този урок















