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