SQL
LA CLÁUSULA EXISTA
Buscar..
LA CLÁUSULA EXISTA
Tabla de clientes
| Carné de identidad | Nombre de pila | Apellido |
|---|---|---|
| 1 | Ozgur | Ozturk |
| 2 | Youssef | Medi |
| 3 | Enrique | Tai |
Tabla de orden
| Carné de identidad | Identificación del cliente | Cantidad |
|---|---|---|
| 1 | 2 | 123.50 |
| 2 | 3 | 14.80 |
Obtener todos los clientes con al menos un pedido
SELECT * FROM Customer WHERE EXISTS (
SELECT * FROM Order WHERE Order.CustomerId=Customer.Id
)
Resultado
| Carné de identidad | Nombre de pila | Apellido |
|---|---|---|
| 2 | Youssef | Medi |
| 3 | Enrique | Tai |
Obtener todos los clientes sin orden
SELECT * FROM Customer WHERE NOT EXISTS (
SELECT * FROM Order WHERE Order.CustomerId = Customer.Id
)
Resultado
| Carné de identidad | Nombre de pila | Apellido |
|---|---|---|
| 1 | Ozgur | Ozturk |
Propósito
EXISTS , IN y JOIN podrían usarse en algún momento para el mismo resultado, sin embargo, no son iguales:
-
EXISTSdebe usarse para verificar si existe un valor en otra tabla -
INdebe utilizarse para la lista estática - Se debe usar
JOINpara recuperar datos de otra (s) tabla (s)
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow