| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> Lenguajes De Programación >> Content
    Diferencias entre EXISTS y IN en SQL
    Un desafío persistente en el uso de SQL consiste en determinar el uso adecuado de los EXISTS e IN . Los dos operadores pueden producir los mismos resultados, pero no siempre lo haga. También , hay un debate considerable sobre cómo está optimizado para la velocidad de cada operador . Los usuarios deben entender los diferentes atributos de cada operador y probar los dos para determinar la función adecuada . EN Operador

    el operador in devuelve una fila si un valor DONDE tabla.campo acondicionado, coincide con una lista de en valores. EN se utiliza normalmente como parte de una consulta principal o junto con una subconsulta

    Ejemplo 1 . DONDE Tabla.Campo en ('a' , 'b ', ' c' )

    Ejemplo 2 : ¿DÓNDE Tabla.Campo en ( el regreso de subconsulta conjunto de valores )
    EXISTE operador

    el operador EXISTS devuelve todas las principales líneas de consulta si la subconsulta contiene ninguna fila.
    EXISTE

    sólo se utiliza en conjunción con una subconsulta . Filas devueltas se determinan mediante el filtrado a nivel de consulta principal . Ejemplo: Cuando exista ( el regreso de subconsulta conjunto de valores )
    Diferencia

    no puede evaluar NULL , por lo que las filas son siempre falsas , y no regresaron .
    EXISTE

    puede evaluar NULL , por lo que las filas se pueden devolver .
    Similitudes

    EXISTE y en ambos apoyo subconsultas correlacionadas y no correlacionadas , y ambos pueden producir principales resultados similares . Al correlacionar las que existe y en el partido de un campo principal de consultas a un campo subconsulta (ex : main.id = subquery.id ) . La subconsulta se evalúa fila por fila , para cada coincidencia encontrada . En este caso, IN y EXISTS devolverá las mismas filas en función de los partidos Identificación similares. Cuando no correlacionados , existe y EN proceso de sus subconsultas primero , y luego los resultados coinciden con la consulta principal .
    Rendimiento del EXISTE Y EN

    rendimiento se determina por la base de datos optimizador y el plan de ejecución se emplea para el código que se ejecuta . Para EXISTS e IN , el optimizador puede elegir diferentes caminos. En Oracle , esto es, NO EXISTE evitar un anti -join , y por lo general demostrando rápido que NO IN. Al final, se requiere un poco de ensayo y error para referencia el camino más rápido dependiendo de la base de datos y su versión en uso. Asegúrese de utilizar el operador que garantiza los resultados correctos , luego si todo es lo mismo, intentar EXISTS sustitución y para ver realmente lo que es más rápido .

    Previous :

    next :
      Artículos relacionados
    ·WPF Tutorial 
    ·Cómo crear Subíndice Utilización de códigos HTML 
    ·¿Cuál es la diferencia entre las variables locales y …
    ·Cómo utilizar QBASIC en encontrar la inversa de una ma…
    ·Cómo integrar bases de datos de Access 2007 con webs 
    ·Cómo agregar color a un archivo por lotes 
    ·Cómo cambiar de GW -BASIC a QBasic 
    ·¿Cómo entrar sentencias de entrada en MATLAB 
    ·Tipos de archivos SQLite 
    ·¿Qué es estricta comprobación de tipos 
      Artículos destacados
    ·Cómo configurar Java heap space 
    ·Cómo solucionar Error de aserción Visual C 
    ·Cómo crear un Grupo de Redo Log 
    ·Cómo cifrar y Watermark un PHP PDF 
    ·Cómo agregar GetDate a Vb.NET Script para cambiar el n…
    ·¿Qué es la depuración de scripts usado para 
    ·Cómo hacer un formulario en Java 
    ·Cómo utilizar la función memcmp en C + + 
    ·Cómo convertir System.DBNull a un entero 
    ·La manera de escapar la barra invertida en PHP 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com