Access SQL: conceptos básicos, vocabulario y sintaxis

Importante:  Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Cuando desea recuperar datos de una base de datos, solicita los datos mediante el lenguaje de consulta estructurado o SQL. SQL es un lenguaje de equipo que se parezca a inglés, pero comprenden los programas de base de datos. Todas las consultas que ejecuta utiliza SQL en segundo plano.

Comprender cómo funciona SQL puede ayudarle a crear consultas mejor y puede que sea más fácil de comprender cómo corregir una consulta que no devuelve los resultados que desee.

Esta es una de un conjunto de artículos sobre SQL de Access. Este artículo describe el uso básico de SQL para seleccionar los datos y utiliza ejemplos para ilustrar la sintaxis SQL.

En este artículo:

¿Qué es SQL?

Básicas cláusulas SQL: SELECT, FROM y WHERE

Ordenar los resultados: ORDER BY

Trabajar con datos resumidos: GROUP BY y HAVING

Combinar los resultados de la consulta: UNIÓN

¿Qué es SQL?

SQL 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).

Por ejemplo, una simple instrucción SQL que recupera una lista de los apellidos de los contactos cuyo nombre sea Mary podría parecerse a esto:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

Nota: SQL no se usa solamente para manipular los datos, sino también para crear y modificar el diseño de objetos de base de datos, como tablas. El elemento de SQL que se utiliza para crear y modificar objetos de base de datos se denomina lenguaje de definición de datos (DDL). Este tema trata sobre DDL. Para obtener más información, vea el artículo crear o modificar tablas o índices mediante una consulta de definición de datos.

Instrucciones SELECT

Para describir un conjunto de datos con SQL, escriba una instrucción SELECT. Una instrucción SELECT contiene una descripción completa de un conjunto de datos que desea obtener de una base de datos. Esto incluye lo siguiente:

  • ¿Qué contienen los datos.

  • Cómo se relacionan los datos de orígenes diferentes.

  • ¿Qué campos o cálculos generarán los datos.

  • Criterios que deben coincidir los datos que desea incluir.

  • Si y cómo ordenar los resultados.

Cláusulas SQL

Como una frase, una instrucción SQL tiene cláusulas. Cada cláusula realiza una función de la instrucción SQL. Algunas cláusulas son necesarias en una instrucción SELECT. La siguiente tabla enumeran las cláusulas SQL más comunes.

Cláusula SQL

Función

Obligatorio

SELECT

Muestra una lista de los campos que contienen datos de interés.

FROM

Muestra las tablas que contienen los campos de la cláusula SELECT.

WHERE

Especifica los criterios de campo que cada registro debe cumplir para poder ser incluido en los resultados.

No

ORDER BY

Especifica la forma de ordenar los resultados.

No

GROUP BY

En una instrucción SQL que contiene funciones de agregado, muestra los campos que no se resumen en la cláusula SELECT.

Solo si están estos campos

HAVING

En una instrucción SQL que contiene funciones de agregado, especifica las condiciones que se aplican a los campos que se resumen en la instrucción SELECT.

No

Términos SQL

Cada cláusula SQL se compone de términos: comparable a partes de la oración. La siguiente tabla enumera los tipos de términos SQL.

Término de SQL

Parte del discurso comparable

Definición

Ejemplo

identificador

sustantivo

Un nombre que se usa para identificar un objeto de base de datos, como el nombre de un campo.

Clientes. [Número de teléfono]

operador

verbo o adverbio

Palabra clave que representa o modifica una acción.

AS

constante

sustantivo

Valor que no cambia, como un número o un valor nulo (NULL).

42

expresión

adjetivo

Combinación de identificadores, operadores, constantes y funciones que se evalúa como un valor único.

> = Productos.[Precio por unidad]

Volver al principio

Básicas cláusulas SQL: SELECT, FROM y WHERE

Una instrucción SQL tiene el formato general:

SELECT field_1
FROM table_1
WHERE criterion_1
;

Notas: 

  • Access pasa por alto los saltos de línea en una instrucción SQL. Sin embargo, considere el uso de una línea para cada cláusula para ayudar a mejorar la legibilidad de las instrucciones SQL para usted y otros usuarios.

  • Cada instrucción SELECT termina con un punto y coma (;). El punto y coma puede aparecer al final de la última cláusula o en una línea por sí mismo al final de la instrucción SQL.

Un ejemplo de Access

El siguiente ejemplo muestra el aspecto que podría una instrucción SQL para una consulta de selección sencilla en Access:

Pestaña del objeto SQL en la que se muestra una instrucción SELECT

1. cláusula SELECT

2. cláusula FROM

3. cláusula WHERE

Este ejemplo instrucción SQL lee "Seleccionar los datos que se almacenan en los campos con el nombre de dirección de correo electrónico y organización de la tabla denominada contactos, específicamente esos registros en los que el valor del campo Ciudad es Seattle".

Veamos el ejemplo, una cláusula a la vez, para ver cómo funciona la sintaxis SQL.

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").

Nota: A diferencia de la SELECCIÓN y cláusulas FROM, la cláusula WHERE es no es un elemento obligatorio de una instrucción SELECT.

Puede realizar muchas de las acciones que permite hacer mediante SQL SELECT, FROM y cláusulas WHERE. Más información sobre cómo usar estas cláusulas se presenta en estos artículos adicionales:

Volver al principio

Ordenar los resultados: 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]

Nota: De forma predeterminada, Access ordena los valores de forma ascendente (a Z, de menor a mayor). Utilice la palabra clave DESC para ordenar los valores en orden descendente en su lugar.

Para obtener más información acerca de la cláusula ORDER BY, vea el tema de la Cláusula ORDER BY.

Volver al principio

Trabajar con datos resumidos: 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

Las funciones de agregado que puede usar dependen del tipo de datos que se encuentra en el campo o expresión que desea usar. Para obtener más información sobre las funciones agregadas disponibles, vea el artículo Funciones de agregado de SQL.

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

Para obtener más información acerca de la cláusula GROUP BY, vea el tema GRUPO POR cláusula.

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

Nota: Una consulta puede tener una cláusula WHERE y una cláusula HAVING: vaya criterios para los campos que no se usan en una función de agregado en la cláusula WHERE y criterios para los campos que se usan con funciones de agregado en la cláusula HAVING.

Para obtener más información acerca de la cláusula HAVING, vea el tema de la Cláusula HAVING.

Volver al principio

Combinar los resultados de la consulta: UNIÓN

Cuando desee revisar todos los datos devuelven por varias consultas de selección similares juntos, como un conjunto combinado, use el operador UNION.

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.

Nota: Para las consultas de unión, los tipos de datos Texto y Número son compatibles.

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_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM 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_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

Para obtener más información sobre cómo combinar instrucciones SELECT mediante el operador de UNIÓN, vea combinar los resultados de varias consultas de selección mediante una consulta de unión.

Volver al principio

Nota: Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Compartir Facebook Facebook Twitter Twitter Enviar por correo electrónico Enviar por correo electrónico

¿Le ha sido útil esta información?

De acuerdo. ¿Algún comentario más?

¿Cómo podemos mejorarlo?

¡Gracias por sus comentarios!

×