SQ::es un lenguaje de equipo para trabajar con conjuntos de datos y las relaciones entre ellas. Programas de base de datos relacionales, como Microsoft Office Access, usan SQL para trabajar con datos. A diferencia de varios idiomas del equipo, no es difícil de leer y entender, incluso para un principiante SQL. Como varios idiomas del equipo, SQL es un estándar internacional que se reconoce por organismos de estándares como ISO y ANSI.
Usar SQL para describir conjuntos de datos que pueden ayudarle a responder preguntas. Cuando se utiliza SQL, debe utilizar la sintaxis correcta. Sintaxis es el conjunto de reglas que se combinan correctamente los elementos de un idioma. Sintaxis SQL se basa en sintaxis inglés y utiliza muchos de los mismos elementos de Visual Basic para la sintaxis de aplicaciones (VBA).
SQL: SELECT, FROM y WHERE:
La cláusula SELECT:
SELECT [E-mail Address], Company
Esta es la cláusula SELECT. Consta de un operador (SELECCIONAR) seguido de dos identificadores ([dirección de correo electrónico] y empresa).
Si un identificador contiene espacios ni caracteres especiales (por ejemplo, "dirección de correo electrónico"), debe estar entre corchetes.
Una cláusula SELECT no tiene que le indican las tablas que contienen los campos y no puede especificar las condiciones que deben cumplir los datos que desea incluir.
La cláusula SELECT siempre aparece delante de la cláusula FROM de una instrucción SELECT.
La cláusula FROM:
FROM Contacts
Esta es la cláusula FROM. Consta de un operador (DE) seguido de un identificador (contactos).
Una cláusula FROM no enumera los campos que se seleccionen.
La cláusula WHERE:
WHERE City="Seattle"
Esta es la cláusula WHERE. Consta de un operador (DONDE) seguido de una expresión (ciudad = "Seattle").
SQL:ORDER BY:
Como Microsoft Excel, Access permite ordenar los resultados de la consulta en una hoja de datos. También puede especificar en la consulta cómo desea ordenar los resultados cuando se ejecuta la consulta, mediante una cláusula ORDER BY. Si utiliza una cláusula ORDER BY, es la última cláusula en la instrucción SQL.
Una cláusula ORDER BY contiene una lista de los campos que desea usar para la ordenación, en el mismo orden que desee aplicar las operaciones de ordenación.
Por ejemplo, suponga que desea que los resultados primero ordenados por el valor del campo empresa en orden descendente, y, si hay registros con el mismo valor para la empresa: siguiente ordenados por los valores en el campo dirección de correo electrónico en orden ascendente. La cláusula ORDER BY sería similar al siguiente:
ORDER BY Company DESC, [E-mail Address]
SQL:GROUP BY y HAVING:
A veces desea trabajar con datos resumidos, como el total de ventas en un mes o los elementos más costosos en un inventario. Para ello, aplique un función de agregado a un campo en la cláusula SELECT. Por ejemplo, si desea que la consulta para mostrar el recuento de las direcciones de correo electrónico enumeradas para cada empresa, la cláusula SELECT podría parecerse a lo siguiente:
SELECT COUNT([E-mail Address]), Company
Especificar los campos que no se usan en una función de agregado: cláusula The GROUP BY
Al usar funciones de agregado, normalmente debe crear también una cláusula GROUP BY. Una cláusula GROUP BY enumera todos los campos a los que no se aplica una función de agregado. Si las funciones de agregado se aplica a todos los campos en una consulta, no tiene que crear la cláusula GROUP BY.
Una cláusula GROUP BY inmediatamente después de la cláusula WHERE, o la cláusula FROM si no hay ninguna cláusula WHERE. Una cláusula GROUP BY enumera los campos tal y como aparecen en la cláusula SELECT.
Por ejemplo, siguiendo el ejemplo anterior, si la cláusula SELECT aplica una función de agregado a [dirección de correo electrónico] pero no para la empresa, la cláusula GROUP BY sería similar a lo siguiente:
GROUP BY Company
Limitar los valores agregados mediante criterios de grupo: la cláusula HAVING
Si desea usar criterios para limitar los resultados, pero el campo que desea aplicar los criterios se usa en una función de agregado, no puede usar una cláusula WHERE. En su lugar, use una cláusula HAVING. Una cláusula HAVING funciona como una cláusula WHERE, pero se usa para los datos agregados.
Por ejemplo, suponga que utiliza la función Promedio (que calcula el valor promedio) con el primer campo en la cláusula SELECT:
SELECT COUNT([E-mail Address]), Company
Si desea que la consulta para restringir los resultados según el valor de esa función CONTAR, no puede usar un criterio de ese campo en la cláusula WHERE. En su lugar, ponga los criterios en una cláusula HAVING. Por ejemplo, si solo desea que la consulta devuelva filas si hay más de las direcciones de correo una electrónico asociada a la empresa, la cláusula HAVING podría parecerse a lo siguiente:
HAVING COUNT([E-mail Address])>1
consulta unión:
El operador UNION permite combinar dos instrucciones SELECT en uno. Las instrucciones SELECT que combine deben tener el mismo número de campos de salida en el mismo orden y con los tipos de datos igual o compatible. Cuando se ejecuta la consulta, datos de cada conjunto de campos correspondientes se combinan en un campo de salida, para que el resultado de la consulta tiene el mismo número de campos como cada una de las instrucciones select.
Al usar el operador de UNIÓN, también puede especificar si los resultados de la consulta deben incluir filas duplicadas, si existe alguna, mediante la palabra clave TODO.
La sintaxis SQL básica para una consulta de unión que combina dos instrucciones SELECT es la siguiente:
SELECT field_1FROM table_1UNION [ALL]SELECT field_aFROM table_a;
Por ejemplo, suponga que tiene una tabla denominada productos y otra tabla denominada servicios. Ambas tablas tienen campos que contienen el nombre de la garantía de producto o servicio, el precio o garantizan la disponibilidad, y si ofrecen el producto o servicio de modo exclusivo. Aunque la tabla productos almacena información de garantía y la tabla almacena de servicios garantiza la información, la información básica es la misma (si un determinado producto o servicio incluye una promesa de calidad). Puede usar una consulta de unión, como la siguiente, para combinar los cuatro campos de las dos tablas:
SELECT name, price, warranty_available, exclusive_offerFROM ProductsUNION ALLSELECT name, price, guarantee_available, exclusive_offerFROM Services;
No hay comentarios:
Publicar un comentario