Si las consultas no son lo suficientemente duras, agregar algunas instrucciones SQL básicas puede ayudar a centrar los resultados. Veamos algunos tipos de instrucciones SQL y las cláusulas o partes que puede editar para obtener los resultados deseados.
En este artículo
- Crear una instrucción Select
- Personalización de la cláusula SELECT
- Personalizar la cláusula FROM
- Personalización de la cláusula WHERE
- Personalización con el operador UNION
Crear una instrucción Select
Una instrucción SQL select tiene dos o 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 en una línea separada al final de la instrucción SQL.
La siguiente instrucción de selección pide 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 muestra una lista de 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 (Contacts).
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.
Esta es una lista de cláusulas SQL comunes:
| Cláusula SQL | Qué hace | ¿Requerido? |
|---|---|---|
| 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. Esta es una lista de algunos términos comunes de SQL.
Personalización de 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 sus clientes provienen de varias sucursales diferentes y algunas tienen el mismo número de teléfono y solo desea ver un número de teléfono en la lista una vez, su cláusula SELECT sería así:SELECT DISTINCT [txtCustomerPhone] |
| Para cambiar la forma en que aparece un identificador en la vista Hoja de datos para mejorar la legibilidad. Use el operador AS (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. |
SELECT [txtCustPhone] AS [Teléfono del cliente] |
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 de selección. Un alias de tabla es útil si el nombre del nombre de la tabla es largo, especialmente cuando tiene varios campos con el mismo nombre de tablas diferentes. | 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: SELECT [tblCustomer]. [ID], [tblOrder]. [ID.] Use el operador AS para definir alias de tabla en la cláusula FROM: FROM [tblCustomer] AS [C], [tblOrder] AS [O] A continuación, puede usar estos alias de tabla en la cláusula SELECT, como se indica a continuación:SELECT [C]. [ID], [O]. [ID.] |
| Use combinaciones para combinar pares de registros de dos orígenes de datos en un único resultado o para especificar si se incluirán registros de cualquiera de las tablas si no hay ningún registro correspondiente en la tabla relacionada. Una las tablas para que la consulta combine los elementos de las tablas y excluya los elementos cuando no haya ningún registro correspondiente en la otra tabla |
Este es el aspecto que podría tener la cláusula FROM:FROM [tblCustomer] INNER JOIN [tblOrder] ON [tblCustomer]. [CustomerID]=[tblOrder]. [CustomerID] |
Acerca del uso de combinaciones
Existen 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 aquellos elementos en los que existe un valor común en ambas tablas combinadas.
Las combinaciones externas especifican si se deben incluir datos cuando no existe un valor común. Las combinaciones externas son direccionales, lo que significa que puede especificar si desea incluir todos los registros de la primera tabla especificada en la combinación (denominada combinación izquierda) o si desea incluir todos los registros de la segunda tabla en 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
Obtenga más información sobre el uso de combinaciones en una consulta en Tablas y consultas combinadas.
Personalización de 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 búsqueda y cómo funcionan.
Un ejemplo de cómo puede 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 tengan datos coincidentes, pero tipos de datos diferentes. Esto resulta útil ya que no se puede crear una combinación entre campos que tienen diferentes tipos de datos. 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 de tipo de activo de la tabla Activos tiene el número 3 en el campo Cantidad de la tabla Empleados, así es como se vería su cláusula WHERE:
WHERE field1 LIKE field2
Importante
No puede especificar criterios para un campo utilizado 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 y ambas tienen tres campos: oferta o producto o servicio exclusivo, precio, garantía o protección. Aunque la tabla Productos almacena información de garantía y la tabla Servicios almacena información de garantía, 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 la siguiente manera:
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 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 tipos 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, consulte Uso de una consulta de unión para ver un resultado unificado de varias consultas.