Saltar al contenido
José Marin de la Fuente
José Marin de la Fuente
  • Inicio
  • jmdf
    • Consultor Tecnológico
    • En los medios
    • CodePen
    • ebooks
  • Secciones
    • Blog Personal
    • Drones
    • Marketing Digital
    • Mundo 360
    • Redes Sociales
    • Seguridad informática
    • SEO
    • Tecnología y Mundo Digital
    • WebDesigners, WebMasters & Developers
  • My Tools
    • Calendar Link Generator Online
    • WhatsApp Link Generator Online
    • HTML Obfuscator Online
    • JavaScript Obfuscator Online
    • JWT Decoder
    • QR Online Generator
    • WordPress Password Hash Generator
    • String art generator
    • Editor HTML
    • Test – Tabla Schulte
    • Word Counter
    • Generador de mapeo de imagenes
    • Yellow Dots Decoder
  • Proyectos
    • Lectura Veloz | Chrome Extension
    • FocusTasks | Chrome Extension
  • hangar18
  • Contacto
José Marin de la Fuente José Marin de la Fuente
  • Inicio
  • jmdf
    • Consultor Tecnológico
    • En los medios
    • CodePen
    • ebooks
  • Secciones
    • Blog Personal
    • Drones
    • Marketing Digital
    • Mundo 360
    • Redes Sociales
    • Seguridad informática
    • SEO
    • Tecnología y Mundo Digital
    • WebDesigners, WebMasters & Developers
  • My Tools
    • Calendar Link Generator Online
    • WhatsApp Link Generator Online
    • HTML Obfuscator Online
    • JavaScript Obfuscator Online
    • JWT Decoder
    • QR Online Generator
    • WordPress Password Hash Generator
    • String art generator
    • Editor HTML
    • Test – Tabla Schulte
    • Word Counter
    • Generador de mapeo de imagenes
    • Yellow Dots Decoder
  • Proyectos
    • Lectura Veloz | Chrome Extension
    • FocusTasks | Chrome Extension
  • hangar18
  • Contacto
Modo Visual
Redes Sociales

Buscar en el blog

WebDesigners, WebMasters & Developers • 2 min de lectura

MySQL 5.0 Reference Manual – EXISTS y NOT EXISTS

7 agosto 2012
mysql

Si una subconsulta retorna algún registro, entonces EXISTS subquery es TRUE, y NOT EXISTS subquery es FALSE. Por ejemplo:

SELECT column1 FROM t1 WHERE EXISTS (SELECT * FROM t2);

 

Tradicionalmente, una subconsulta EXISTS comienza con SELECT *, pero puede comenzar con SELECT 5 o SELECT col1 o nada. MySQL ignora la lista SELECT en tales subconsultas, así que no hace distinción.

Para el ejemplo precedente, si t2 contiene algún registro, incluso registros sólo con valores NULL entonces la condición EXISTS es TRUE. Este es un ejemplo poco probable, ya que prácticamente siempre una subconsulta [NOT] EXISTS contiene correlaciones. Aquí hay algunos ejemplos más realistas:

  • ¿Qué clase de tienda hay en una o más ciudades?
    SELECT DISTINCT store_type FROM Stores
    WHERE EXISTS (SELECT * FROM Cities_Stores
    WHERE Cities_Stores.store_type = Stores.store_type);

     

  • ¿Qué clase de tienda no hay en ninguna ciudad?
    SELECT DISTINCT store_type FROM Stores
    WHERE NOT EXISTS (SELECT * FROM Cities_Stores
    WHERE Cities_Stores.store_type = Stores.store_type);

     

  • ¿Qué clase de tienda hay en todas las ciudades?
    SELECT DISTINCT store_type FROM Stores S1
    WHERE NOT EXISTS (
    SELECT * FROM Cities WHERE NOT EXISTS (
    SELECT * FROM Cities_Stores
    WHERE Cities_Stores.city = Cities.city
    AND Cities_Stores.store_type = Stores.store_type));

     

El último ejemplo es un doblemente anidado NOT EXISTS . Esto es, tiene una cláusula NOT EXISTS dentro de otra NOT EXISTS. Formalmente, responde a la pregunta “¿existe una ciudad con una tienda que no esté en Stores?” Sin embargo, es más fácil decir que un NOT EXISTS responde a la pregunta “¿es x TRUE para todo y?”


Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com.

Fuente

Comentarios
Compartir este artículo:

Navegación de entradas

Artículo anterior ← jmpress.js – webs con lienzo infinito y transiciones 3D
Siguiente artículo Round 20: Flash vs HTML5 vs Canvas vs SVG – Animaciones →

Artículos Relacionados

WebDesigners, WebMasters & Developers

Las tripas de un webapp: Trello

12 septiembre 2013 • 2 min de lectura
Bleeding Edge, Cutting Edge y Stable
WebDesigners, WebMasters & Developers

Bleeding Edge, Cutting Edge y Stable: diferencias clave en tecnología y desarrollo de software

22 diciembre 2025 • 10 min de lectura
jmpress
WebDesigners, WebMasters & Developers

jmpress.js – webs con lienzo infinito y transiciones 3D

3 agosto 2012 • 1 min de lectura
advertise width me
Baitdom Domótica para el hogar en Tucumán
Google Street View Trusted Photographer | Tucumán
grupo de desarrolladores tucumanos en Facebook

Entradas recientes

  • Cómo vender productos digitales con Landing Pages, Tiendanube y Meta Ads
  • Métricas de Meta Ads: guía completa para entender CPM, CTR, CPC, CPA, ROAS y optimizar campañas
  • Framework 3Qs en Meta Ads: Diagnóstico de Campañas y Optimización
  • Zonas seguras de Meta Ads: guía para Reels y Stories
  • AGI Bar: cerveza y tokens gratis de IA — ¿funcionaría en Argentina?
advertise width me
DEVELOPER TOOLBOX

Mis Herramientas & Utilidades

Colección de utilidades web interactivas para desarrolladores y profesionales.

JWT Decoder POPULAR

Decodifica y verifica tokens JWT

JSON Formatter

Embellece y valida JSON

Base64 Encoder

Codifica y decodifica Base64

Hash Generator

MD5, SHA-256 y más

Regex Tester

Prueba expresiones regulares

CSS Gradients NUEVO

Generador de degradados CSS

© 2026 José Marin de la Fuente. Todos los derechos reservados.