Si las consultas no están funcionando lo suficiente, agregar algunas instrucciones de SQL básicas puede ayudarle a centrarse en los resultados. Echemos un vistazo a algunos tipos de instrucciones SQL y las cláusulas o partes que puede editar para obtener los resultados deseados.
Nota: Este artículo no es válido para las aplicaciones web de Access (el tipo de base de datos que se diseña con Access y se publica en línea).
En este artículo
Crear una instrucción Select
Una instrucción select de SQL tiene de dos a tres cláusulas. La cláusula SELECT indica a la base de datos dónde debe buscar los datos y le pide que devuelva un resultado específico.
Nota: Las instrucciones SELECT siempre terminan con un punto y coma (;) al final de la última cláusula o solo en una línea al final de la instrucción SQL.
La siguiente instrucción select solicita a Access que obtenga información de las columnas Dirección de correo electrónico y Empresa de la tabla Contactos, específicamente donde encuentra "Seattle" en la columna Ciudad.
La consulta anterior tiene tres cláusulas SELECT, FROM y WHERE.
1. La cláusula SELECT enumera las columnas que contienen los datos que desea usar y tiene un operador (SELECT) seguido de dos identificadores (Dirección de correo electrónico y Empresa). Si un identificador tiene espacios o caracteres especiales (como "Dirección de correo electrónico"), escriba el identificador entre corchetes.
2. La cláusula FROM identifica la tabla de origen. En este ejemplo, tiene un operador (FROM) seguido de un identificador (Contactos).
3. La cláusula WHERE es una cláusula opcional. El ejemplo tiene un operador (WHERE) seguido de una expresión (City="Seattle").
Para obtener más información sobre las consultas de selección, vea Crear una consulta de selección sencilla.
A continuación se muestra una lista de cláusulas SQL comunes:
Cláusula SQL |
Función |
¿Es necesario ? |
SELECT |
Muestra una lista de los campos que contienen datos de interés. |
Sí |
FROM |
Muestra las tablas que contienen los campos de la cláusula SELECT. |
Sí |
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 |
Cada cláusula SQL se compone de términos. A continuación se muestra una lista de algunos términos comunes de SQL.
Término de SQL |
Definición |
Ejemplo |
identificador |
Nombre que se usa para identificar un objeto de base de datos, como el nombre de columna. |
[Dirección de correo electrónico] y Empresa |
operador |
Palabra clave que representa o modifica una acción. |
AS |
constante |
Valor que no cambia, como un número o un valor nulo (NULL). |
42 |
expresión |
Combinación de identificadores, operadores, constantes y funciones que se evalúa como un valor único. |
> = Productos.[Precio por unidad] |
Personalizar la cláusula SELECT
Personalizar |
Ejemplo |
Para ver solo los valores distintos. Use la palabra clave DISTINCT en la cláusula SELECT. |
Por ejemplo, si los clientes son de varias sucursales diferentes y algunos tienen el mismo número de teléfono y solo quiere ver un número de teléfono enumerado una vez, la cláusula SELECT sería así:
|
Para cambiar la forma en que aparece un identificador en la vista Hoja de datos para mejorar la legibilidad. Use el operador AS (una palabra clave que representa una acción o modifica una acción) con un alias de campo en la cláusula SELECT. Un alias de campo es un nombre que se asigna a un campo para facilitar la lectura de los resultados. |
|
Personalizar la cláusula FROM
Personalizar |
Ejemplo |
Puede usar un alias de tabla o un nombre diferente que asigne a una tabla en una instrucción select. Un alias de tabla es útil si el nombre del nombre de la tabla es largo, especialmente si tiene varios campos que tienen el mismo nombre de diferentes tablas. |
Para seleccionar datos de dos campos, ambos denominados ID, uno de los cuales procede de la tabla tblCustomer y el otro de la tabla tblOrder:
Use el operador AS para definir alias de tabla en la cláusula FROM:
Después, puede usar estos alias de tabla en la cláusula SELECT, como se indica a continuación:
|
Use combinaciones para combinar pares de registros de dos orígenes de datos en un único resultado o para especificar si se incluyen registros de cualquiera de las tablas si no hay ningún registro correspondiente en la tabla relacionada. Combinar las tablas para que la consulta combine los elementos de las tablas y excluya los elementos cuando no hay ningún registro correspondiente en la otra tabla |
Este es el aspecto que podría tener la cláusula FROM:
|
Acerca del uso de combinaciones
Hay dos tipos de combinaciones, combinaciones internas y externas. Las combinaciones internas son más comunes en las consultas. Al ejecutar una consulta con una combinación interna, el resultado muestra solo los elementos en los que existe un valor común en ambas tablas combinadas.
Las combinaciones externas especifican si se incluyen datos en los que no existe ningún valor común. Las combinaciones externas son direccionales, lo que significa que puede especificar si se incluyen todos los registros de la primera tabla especificada en la combinación (denominada combinación izquierda) o si se incluyen todos los registros de la segunda tabla de la combinación (denominada combinación derecha). Una combinación externa tiene la siguiente sintaxis SQL:
FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2
Para obtener más información sobre cómo usar combinaciones en una consulta, vea Combinar tablas y consultas.
Personalizar la cláusula WHERE
La cláusula WHERE incluye criterios que ayudan a limitar el número de elementos devueltos en una consulta. Vea ejemplos de criterios de consulta y cómo funcionan.
Un ejemplo de cómo personalizar la cláusula WHERE básica es limitar los resultados de una consulta; Supongamos que desea localizar el número de teléfono de un cliente y solo puede recordar su apellido como Bagel. En este ejemplo, los apellidos se almacenan en un campo apellidos, por lo que la sintaxis SQL sería:
WHERE [LastName]='Bagel'
Use la cláusula WHERE también para combinar orígenes de datos para columnas que tienen datos coincidentes, pero tipos de datos diferentes. Esto resulta útil, ya que no se puede crear una combinación entre campos que tengan tipos de datos diferentes. Use un campo como criterio para el otro campo, con la palabra clave LIKE . Por ejemplo, si desea usar datos de una tabla Activos y una tabla Empleados, solo cuando el tipo de activo en el campo tipo de activo de la tabla Activos tiene el número 3 en el campo Cantidad de la tabla Empleados, esta es la apariencia de la cláusula WHERE:
WHERE field1 LIKE field2
Importante: No se pueden especificar criterios para un campo usado con una función de agregado en una cláusula WHERE. En su lugar, use una cláusula HAVING para especificar criterios para campos agregados.
Personalización con el operador UNION
Use el operador UNION cuando desee ver una vista combinada de los resultados de varias consultas de selección similares. Por ejemplo, si la base de datos tiene una tabla Productos y una tabla Servicios, ambos tienen tres campos: oferta o producto o servicio exclusivos, precio, garantía o garantía. Aunque la tabla Productos almacena información sobre garantías y la tabla Servicios almacena información de garantías, la información básica es la misma. Puede usar una consulta de unión para combinar los tres campos de las dos tablas de esta forma:
SELECT name, price, warranty, exclusive_offer
FROM Products UNION ALL SELECT name, price, guarantee, exclusive_offer FROM Services;
Al ejecutar la consulta, los datos de cada conjunto de campos correspondientes se combinan en un campo de salida. Para incluir las filas duplicadas en los resultados, use el operador ALL.
Nota: La instrucción Select debe tener el mismo número de campos de salida, en el mismo orden y con los mismos tipos de datos o compatibles. Para las consultas de unión, los tipos de datos Texto y Número son compatibles.
Para obtener más información sobre las consultas de unión, vea Usar una consulta de unión para ver un resultado unificado de varias consultas.