Modo de empleo y no en los predicados de los comandos sql

Video: Microsoft Access - Consultas con instrucciones en Lenguaje SQL (Añadir, modificar y eliminar, etc.)

los EN y NO EN SQL predicados de acuerdo con si los valores especificados (tales como O, WA e ID) están contenidos dentro de un determinado conjunto de valores (como los estados de los Estados Unidos).

Video: Introduccion al lenguaje SQL - Los comandos SQL (4)

Es posible, por ejemplo, tener una tabla que enumera los proveedores de un producto que su empresa compra sobre una base regular. ¿Quieres saber los números de teléfono de los proveedores ubicados en el noroeste del Pacífico. Puede encontrar estos números mediante el uso de predicados de comparación, tales como los que se muestran en el siguiente ejemplo:

SELECT Company, PhoneFROM SUPPLIERWHERE Estado = `OR` o estado = `WA` o estado = `ID` -

También puede utilizar el EN predicado para llevar a cabo la misma tarea, de la siguiente manera:

SELECT Company, PhoneFROM SUPPLIERWHERE Estado IN ( `OR`, `WA`, `ID`) -

Esta formulación es un poco más compacto que el uno usando predicados de comparación y lógica O. También elimina cualquier posible confusión entre la lógica O operador y la abreviatura para el estado de Oregon.

Video: Comandos SQL DDL

los NO EN versión de este predicado funciona de la misma manera. Decir que usted tiene localizaciones en California, Arizona y Nuevo México, y para evitar el pago de impuestos sobre las ventas, desea considerar el uso de proveedores ubicados en cualquier lugar excepto en aquellos estados. Utilice la siguiente construcción:

Empresa SELECT, PhoneFROM SUPPLIERWHERE Estado NO EN ( `CA`, `AZ`, `NM`) -

Utilizando el EN la palabra clave de esta manera se ahorra un poco de escribir - aunque (francamente) que no es una gran ventaja. Se puede hacer el mismo trabajo mediante el uso de predicados de comparación.

Es posible que tenga otra buena razón para utilizar el EN predicado en lugar de predicados de comparación, incluso si se utiliza EN no ahorrar mucho escribiendo: su DBMS probablemente implementa los dos métodos de otra manera, y uno de los métodos pueden ser significativamente más rápido que el otro en su sistema.

Es posible que desee ejecutar una comparación de rendimiento en las dos formas de expresar su inclusión en (o exclusión de) un grupo y luego usar la técnica que produce el resultado más rápido. Un DBMS con un buen optimizador elegirá probablemente el método más eficiente, independientemente de la predicado que utiliza.

Video: Creación de base de datos con comandos SQL

los EN palabra clave es valioso en otra área, también. Si EN es parte de una subconsulta, la palabra clave le permite extraer información de dos tablas para obtener los resultados que no se puede obtener de una sola tabla. He aquí un ejemplo que muestra cómo una subconsulta utiliza la EN palabra clave.

Supongamos que desea mostrar los nombres de todos los clientes que han comprado el producto F-35 en los últimos 30 días. nombres de los clientes están en la mesa del cliente y datos de transacción de venta se encuentra en la tabla de transacciones. Puede utilizar la siguiente consulta:

SELECT Nombre, LastNameFROM CUSTOMERWHERE CustomerID IN (SELECT CustomerIDFROM TRANSACTWHERE ProductID = `F-35`AND TransDate gt; = (CurrentDate - 30)) -

El interior SELECCIONAR de los nidos de mesa TRANSACCIÓN dentro de la exterior SELECCIONAR de la tabla cliente. El interior SELECCIONAR se encuentra la Identificación del cliente los números de todos los clientes que compraron el producto F-35 en los últimos 30 días. El exterior SELECCIONAR muestra los nombres y apellidos de todos los clientes cuyo Identificación del cliente se recupera por el interior SELECCIONAR.

Artículos Relacionados