Editar instrucciones SQL para ajustar los resultados de la consulta

Editar instrucciones SQL para ajustar los resultados de la consulta

Nota: Nos gustaría proporcionarle el contenido de ayuda actual lo más rápido posible en su idioma. Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido sea útil para usted. ¿Puede informarnos sobre si la información le ha sido útil al final de la página? Aquí tiene el artículo en inglés para que pueda consultarlo fácilmente.

Si sus consultas no funcionan lo suficientemente bien, puede que el hecho de agregar algunas instrucciones SQL básicas le ayude a focalizar los resultados. Echemos un vistazo a algunos tipos de instrucciones SQL y a las cláusulas o partes que se podrían 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

Personalización de la cláusula SELECT

Personalización de la cláusula FROM

Personalización de la cláusula WHERE

Personalización con el operador UNION

Crear una instrucción SELECT

Las instrucciones SELECT de SQL tienen 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 concreto.

Nota: Las instrucciones SELECT siempre terminan con un punto y coma (;), ya sea 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 indica a Access que obtenga los datos de las columnas Dirección de correo electrónico y Organización de la tabla Contactos, en concreto cuando en la columna Ciudad aparezca “Seattle”.

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

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 utilizar y tiene un operador (SELECT) seguido por dos identificadores (Dirección de correo electrónico y Organización). Si un identificador contiene espacios o caracteres especiales (como "Dirección de correo electrónico"), encierre el identificador entre corchetes.

2. La cláusula FROM identifica la tabla de origen. En este ejemplo, contiene un operador (FROM) seguido de un identificador (Contacto).

3. La cláusula WHERE es opcional. El ejemplo contiene un operador (WHERE) seguido de una expresión (Ciudad="Seattle").

Para obtener más información sobre las consultas de selección, consulte crear una consulta de selección sencilla.

A continuación encontrará una lista de cláusulas SQL habituales:

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

Cada cláusula SQL está formada por términos. En la siguiente lista se enumeran algunos términos SQL habituales.

Término de SQL

Definición

Ejemplo

identificador

Nombre que se usa para identificar un objeto de la base de datos, como el nombre de una columna.

[Dirección de correo electrónico] y [Organización]

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]

Principio de página

Personalización de la cláusula SELECT

Personalizar

Ejemplo

Para ver solamente los valores distintos.

Utilice la palabra clave DISTINCT en la cláusula SELECT.

Por ejemplo, si sus clientes son de sucursales distintas y algunos tienen el mismo número de teléfono, pero usted solo quiere ver el número de teléfono una vez en la lista, su cláusula SELECT sería así:

SELECT DISTINCT [txtCustomerPhone] 

Para cambiar la forma como aparece un identificador en la vista Hoja de datos para mejorar la legibilidad.

Utilice el operador AS (una palabra clave que representa o modifica una acción) con un alias de campo en su cláusula SELECT. El alias de campo es un nombre que usted asigna a un campo para que los resultados sean más fáciles de leer.

SELECT [txtCustPhone] AS [Customer Phone]

Personalización de la cláusula FROM

Personalizar

Ejemplo

Puede utilizar un alias de tabla o un nombre distinto que usted asigne a una tabla en una instrucción SELECT. Los alias de tabla son útiles si el nombre de la tabla es largo, especialmente cuando dispone de muchos campos que tienen el mismo nombre procedente de diferentes tablas.

Para seleccionar datos de dos campos, ambos con el nombre ID, uno de los cuales procede de la tabla tblCliente y el otro de la tabla tblPedido:

SELECT [tblCustomer].[ID], 
[tblOrder].[ID]

Utilice el operador AS para definir los alias de la 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 del modo siguiente:

SELECT [C].[ID], 
[O].[ID]

Utilice las combinaciones para combinar pares de registros de dos orígenes de datos en un único resultado o para especificar si se desean incluir registros de ambas tablas si no hay ningún registro correspondiente en la tabla relacionada.

Combine las tablas de modo que la consulta combine los elementos de las tablas y excluya elementos si no hay ningún registro correspondiente en la otra tabla.

La cláusula FROM debería tener este aspecto:

FROM [tblCustomer] 
INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

Sobre el uso de combinaciones

Hay dos tipos de combinaciones, las internas y las externas. Las combinaciones internas son más frecuentes en las consultas. Al ejecutar una consulta con una combinación interna, el resultado solamente muestra aquellos elementos en los que existe un valor común en las dos tablas combinadas.

Las combinaciones externas especifican si se incluirán datos donde no hay ningún valor común. Las combinaciones externas son direccionales, lo que significa que se puede especificar si incluir todos los registros de la primera tabla especificada en la combinación (denominada combinación izquierda o left join) o incluir todos los registros de la segunda tabla en la combinación (denominada combinación derecha o right join). Las combinaciones externas tienen la sintaxis de SQL siguiente:

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2

Consulte más información sobre cómo utilizar combinaciones en una consulta en Combinar tablas y consultas.

Principio de página

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 consulta y cómo funcionan.

Un ejemplo de cómo puede personalizar la cláusula básica WHERE es limitar los resultados de una consulta. Supongamos que desea buscar el número de teléfono de un cliente, y solamente recuerda su apellido, Bagel. En este ejemplo, los apellidos se almacenan en el campo Apellido, y su sintaxis de SQL sería:

WHERE [LastName]='Bagel'

También puede utilizar la cláusula WHERE para combinar orígenes de datos de columnas que tienen datos coincidentes pero diferentes tipos de datos. Esto es útil porque no puede crear una combinación entre campos que contienen diferentes tipos de datos. Utilice un campo como criterio para el otro campo, con la palabra clave LIKE. Por ejemplo, si desea utilizar datos de la tabla Activos y de la tabla Empleados, solamente cuando el tipo de activo del campo Tipo de activo de la tabla Activos tenga el número 3 en el campo Cantidad de la tabla Empleados, la cláusula WHERE debería tener este aspecto:

WHERE field1 LIKE field2

Importante:  Usted no puede especificar criterios para un campo utilizado con una función agregada en una cláusula WHERE. En cambio, puede utilizar una cláusula HAVING para especificar criterios para los campos agregados.

Principio de página

Personalización con el operador UNION

Utilice el operador UNION cuando desee ver una vista combinada de resultados de varias consultas SELECT similares. Por ejemplo, si su base de datos tiene una tabla Productos y una tabla Servicios y ambas tienen tres campos: oferta exclusiva o producto o servicio, precio y garantía. Aunque en la tabla Productos se almacena información sobre la garantía del producto y en la tabla Servicios se almacena información sobre la garantía del servicio, la información básica es la misma. Puede usar una consulta de unión para combinar los cuatro campos de las dos tablas del modo siguiente:

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 resultados. Para incluir filas duplicadas en los resultados, utilice el operador ALL.

Nota:  La instrucción Select debe tener el mismo número de campos de resultados, deben aparecer en el mismo orden y contener el mismo tipo de datos o unos datos compatibles. Para esta consulta de unión los tipos de datos Número y Texto son compatibles.

Para más información sobre las consultas de unión, vea con una consulta de unión para ver un resultado unificado de varias consultas.

Principio de página

Ampliar sus conocimientos de Office
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×