Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
MariaDB: condición de existencia
Este tutorial de MariaDB explica cómo usar MariaDB Condición de existencia Con sintaxis y ejemplos.
describir
La condición MariaDB EXISTS se usa junto con una subconsulta y se considera “satisfecha” si la subconsulta devuelve al menos una fila. Se puede usar en una declaración SELECT, INSERT, UPDATE o DELETE.
sintaxis
La sintaxis de la condición EXISTS en MariaDB es:
WHERE EXISTS ( subquery );
parámetro o parámetro
Las subconsultas suelen ser declaraciones SELECT que comienzan con SELECT *, no listas de expresiones ni nombres de columnas. MariaDB ignora las listas de expresiones en las subconsultas de todos modos.
notas
- Las declaraciones SQL que usan condiciones EXISTS en MariaDB son muy ineficientes porque las subconsultas se vuelven a ejecutar para cada fila en la tabla de consulta externa. Hay formas más eficientes de escribir la mayoría de las consultas que no usan condiciones EXISTS.
Ejemplo: uso de la instrucción SELECT
Veamos un ejemplo de cómo usar la condición EXISTS en una instrucción SELECT en MariaDB.
Por ejemplo:
SELECT * FROM sites WHERE EXISTS (SELECT * FROM pages WHERE pages.site_id = sites.site_id);
Este ejemplo de condición de MariaDB EXISTS devolverá todos los registros en la tabla de sitios donde al menos un registro en la tabla de páginas tenga un site_id coincidente.
Ejemplo: declaración SELECT usando NOT EXISTS
Veamos un ejemplo de cómo usar la condición EXISTS con el operador NOT en MariaDB.
Por ejemplo,
SELECT * FROM sites WHERE NOT EXISTS (SELECT * FROM pages WHERE pages.site_id = sites.site_id);
Este ejemplo de MariaDB EXISTS devolverá todos los registros en la tabla de sitios que no tienen un registro para el site_id dado en la tabla de páginas.
Ejemplo: uso de la instrucción INSERT
Veamos un ejemplo de cómo usar la condición EXISTS en la instrucción INSERT de MariaDB.
Por ejemplo:
INSERT INTO contacts (contact_id, contact_name) SELECT site_id, site_name FROM sites WHERE EXISTS (SELECT * FROM pages WHERE pages.site_id = sites.site_id);
Ejemplo: uso de la instrucción UPDATE
Veamos un ejemplo de cómo usar la condición EXISTS en la instrucción UPDATE de MariaDB.
Por ejemplo:
UPDATE sites SET site_name="TechOnTheNet.com" WHERE EXISTS (SELECT * FROM pages WHERE pages.site_id = sites.site_id);
Ejemplo: uso de la sentencia DELETE
Veamos un ejemplo de cómo usar la condición EXISTS en una instrucción DELETE en MariaDB.
Por ejemplo:
DELETE FROM sites WHERE EXISTS (SELECT * FROM pages WHERE pages.site_id = sites.site_id);