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:

  • EXISTS debe usarse para verificar si existe un valor en otra tabla
  • IN debe utilizarse para la lista estática
  • Se debe usar JOIN para 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