MariaDB: condición de existencia

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);