кодесурса
«SQLite

SQLite Exists оператор

script1adsense2code
script1adsense3code

Вступление

EXISTS проверяет наличие результата подзапроса. Подзапрос EXISTS проверяет, получает ли подзапрос хотя бы одну строку. Если данные не возвращаются, тогда этот оператор возвращает FALSE.

Действительный подзапрос EXISTS должен содержать внешнюю ссылку, и это должен быть коррелированный подзапрос.

Список выбора в подзапросе EXISTS фактически не используется при оценке EXISTS, поэтому он может содержать любой действительный список выбора.

Версия SQLite: 3.8

пример

Вот пример оператора SQL EXISTS

Образец таблицы: клиент


Пример таблицы: агенты


Чтобы получить «agent_code», «agent_name», «working_area» и «Commission» от «агентов», с соблюдением следующих условий:

1. «оценка» в таблице «клиент» должна быть 3,

2. 'agent_code' в таблице 'customer' и 'agent' должен совпадать,

3. «комиссия» «агентов» должна располагаться в порядке возрастания,

4. вышеуказанные условия (1) и (2) должны соответствовать хотя бы одной строке,

можно использовать следующий оператор SQL:

SELECT agent_code,agent_name,working_area,commission 
FROM agents 
WHERE exists 
(SELECT * 
FROM customer 
WHERE grade=3 AND agents.agent_code=customer.agent_code) 
ORDER BY commission;

Вот результат.

Пример вывода:

 AGENT_CODE AGENT_NAME WORKING_AREA COMMISSION
---------- ---------------------------------------- ------------ ----------
A002 Мукеш Мумбаи 0,11
A009 Бенджамин Хэмпшир 0.11
A008 Alford New York 0,12
A010 Сантакумар Ченнаи 0,14

Пример: SQL существует с группировкой по

Здесь мы обсудили, как SQL EXIST может работать с GROUP BY в операторе select.

Образец таблицы: клиент


Чтобы получить 'cust_code', 'cust_name', 'cust_city' и 'grade' из таблицы 'customer', с соблюдением следующих условий:

1. «оценка» в таблице «клиент» должна быть 2,

2. более 2 агентов присутствуют в классе 2,

3. «оценка» в таблице клиентов должна составить группу,

можно использовать следующий оператор SQL:

SELECT cust_code, cust_name, cust_city, grade 
FROM customer 
WHERE grade=2 AND EXISTS
(SELECT COUNT(*) FROM customer 
WHERE grade=2 
GROUP BY grade HAVING COUNT(*)>2);

Вот результат.

Пример вывода:

 CUST_CODE CUST_NAME CUST_CITY GRADE
---------- ---------- ------------------------------ ----- ----------
C00013 Холмс Лондон 2
C00001 Micheal New York 2
C00025 Равиндран Бангалор 2
C00024 Кук Лондон 2
C00018 Флеминг Брисбан 2
C00022 Avinash Mumbai 2
C00017 Сринивас Бангалор 2
C00003 Мартин Торенто 2
C00014 Rangarappa Bangalore 2
C00016 Venkatpati Bangalore 2

Пример: SQL НЕ существует

Вот пример оператора SQL EXISTS с использованием оператора NOT.

Образец таблицы: клиент


Пример таблицы: заказы


Чтобы получить 'agent_code', 'ord_num', 'ord_amount' и 'cust_code' из таблицы 'orders', со следующим условием -

1. любой агент таблицы «customer», не имеющий «payment_amt», равен 1400,

можно использовать следующий оператор SQL:

SELECT agent_code,ord_num,ord_amount,cust_code 
FROM orders 
WHERE NOT EXISTS
(SELECT agent_code FROM customer WHERE payment_amt=1400);

Вот результат.

Пример вывода:

 AGENT_CODE ORD_NUM ORD_AMOUNT CUST_CODE
---------- ---------- ---------- ----------
A003 200100 1000 C00015
A010 200110 3000 C00019
A010 200107 4500 C00007
A007 200112 2000 C00016
A002 200113 4000 C00022
A012 200102 2000 C00012
A008 200114 3500 C00002
A004 200122 2500 C00003
A006 200118 500 C00023
A010 200119 4000 C00007
A004 200121 1500 C00008
A011 200130 2500 C00025
A005 200134 4200 C00004
A013 200115 2000 C00013
A004 200108 4000 C00008
A005 200103 1500 C00021
A011 200105 2500 C00025
A010 200109 3500 C00011
A008 200101 3000 C00001
A008 200111 1000 C00020
A004 200104 1500 C00006
A002 200106 2500 C00005
A005 200125 2000 C00018
A001 200117 800 C00014
A002 200123 500 C00022
A002 200120 500 C00009
A009 200116 500 C00010
A007 200124 500 C00017
A002 200126 500 C00022
A006 200129 2500 C00024
A003 200127 2500 C00015
A002 200128 3500 C00009
A010 200135 2000 C00007
A012 200131 900 C00012
A002 200133 1200 C00009
A013 200132 4000 C00013

Предыдущий: IN, а не IN оператор
Далее: Вставить

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code