Nota:Nos gustaría darle el contenido de ayuda actual lo más rápido posible en su idioma. Esta página se ha traducido a través de un sistema automático y posiblemente contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido sea útil para . ¿Puede informarnos sobre si la información le ha sido útil al final de la página?para que pueda consultarlo fácilmente.
Si desea recuperar datos desde una base de datos, solicite los datos a través de lenguaje de consulta estructurado o SQL. SQL es un lenguaje de computación que se asemeja al inglés, pero que comprenden los programas de base de datos. Todas las consultas que ejecuta utilizan SQL en segundo plano.
Si entiende el funcionamiento de SQL podrá crear mejores consultas además de facilitar la forma de solventar una consulta que no devuelve los resultados que desea.
Este es uno de un conjunto de artículos sobre Access SQL. En este artículo, se describe el empleo básico de SQL para seleccionar datos y se utilizan ejemplos para ilustrar la sintaxis de SQL.
SQL es un lenguaje de computación para trabajar con conjuntos de datos y las relaciones entre ellos. Los programas de bases de datos relacionales, como Microsoft Office Access, utilizan SQL para trabajar con datos. En contraste a muchos lenguajes de computación, SQL no es difícil de leer y comprender, aun para un usuario inexperto. Del mismo modo que muchos lenguajes de computación, SQL es un estándar internacional reconocido por organismos de estándares comoy.
SQL se utiliza para describir conjuntos de datos que pueden ayudarle a contestar preguntas. Al emplear SQL, debe usar la sintaxis correcta. La sintaxis es el conjunto de reglas mediante las que se combinan adecuadamente los elementos de un idioma. La sintaxis SQL se basa en la sintaxis del idioma inglés y usa muchos de los mismos elementos que la sintaxis de Visual Basic para Aplicaciones (VBA).
Por ejemplo, una simple instrucción SQL que recupera una lista de los apellidos de contactos cuyo nombre es María podría ser similar a esto:
Nota:SQL no se usa solo para manipular 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 alterar objetos de base de datos se llama lenguaje de definición de datos (DDL). Este tema no trata el DDL. Para obtener más información, vea el artículo.
Para describir un conjunto de datos con SQL, se escribe 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. Se incluye lo siguiente:
Qué tablas poseen los datos.
Cómo se relacionan los datos de orígenes diferentes.
Qué campos o bien cálculos proporcionarán los datos.
Criterios que los datos deben cumplir para ser incluidos.
Si se deben ordenar los datos y, de ser así, cómo deben ordenarse.
Qué tablas contienen los datos.
Cómo se relacionan los datos de orígenes diferentes.
Qué campos o cálculos proporcionarán los datos.
Criterios que los datos deben cumplir para ser incluidos.
Si se deben ordenar los datos y, de ser así, cómo deben ordenarse.
Como una oración, una instrucción SQL tiene cláusulas. Cada cláusula efectúa una función de la instrucción SQL. Ciertas cláusulas son precisas en una instrucción SELECT. En la siguiente tabla, se 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.
Sí
FROM
Muestra las tablas que poseen los campos de la cláusula SELECT.
Sí
WHERE
Especifica los criterios de campo que cada registro debe cumplir para ser incluido en los resultados.
No
ORDER BY
Especifica la manera 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, equiparables a elementos de la oración. En la siguiente tabla, se cuentan los tipos de términos de SQL.
Término de SQL
Elemento de la oración comparable
Definición
Ejemplo
identificador
sustantivo
Nombre que se usa para identificar un objeto de la base de datos, como el nombre de un campo.
Clientes.[Número de teléfono]
operador
verbo o adverbio
Palabra clave que representa o bien altera una acción.
AS
constante
sustantivo
Valor que no cambia, como un número o bien un valor nulo (NULL).
42
expresión
adjetivo
Combinación de identificadores, operadores, incesantes y funciones que se evalúa como un valor único.
> = Productos.[Precio por unidad]
Una instrucción SQL tiene el formato general:
Notas:
Access pasa por alto los saltos de línea en una instrucción SQL. En cambio, es conveniente usar una línea para cada cláusula a fin de que las instrucciones SQL sean más fáciles de leer por todos.
Cada una de las instrucciones SELECT termina con un punto y coma (;). El punto y coma puede aparecer al final de la última cláusula o solo en una línea al final de la instrucción SQL.
Access pasa por alto los saltos de línea en una instrucción SQL. En cambio, conviene utilizar una línea para cada cláusula a fin de que las instrucciones SQL sean más fáciles de leer por todos.
Cada una de las instrucciones SELECT termina con un punto y coma (;). El punto y coma puede aparecer al final de la última cláusula o bien solo en una línea al final de la instrucción SQL.
A continuación se muestra el aspecto que podría tener en Access una instrucción SQL para una consulta de selección simple:
1. Cláusula SELECT
2. Cláusula FROM
3. Cláusula WHERE
En este caso de instrucción SQL, se señala "Seleccionar los datos almacenados en los campos Dirección de correo electrónico y Empresa de la tabla llamada Contactos, específicamente aquellos registros en los que el valor del campo Urbe sea Seattle".
A continuación se incluye un caso y posicionamiento web marbella describe cada cláusula para mostrar cómo funciona la sintaxis SQL.
SELECT [E-e-mail Address], Company
Esta es la cláusula SELECT. Se compone de un operador (SELECT) seguido de dos identificadores ([Dirección de correo electrónico] y Empresa).
Si un identificador contiene espacios o caracteres singulares (como "Dirección de correo electrónico"), se debe escribir entre corchetes.
Una cláusula SELECT no debe mencionar las tablas que poseen los campos y no puede precisar las condiciones que deben cumplir los datos que se van a incluir.
La cláusula SELECT siempre y en toda circunstancia aparece ya antes que la cláusula FROM en una instrucción SELECT.
FROM Contacts
Esta es la cláusula FROM. Se compone de un operador (FROM) seguido de un identificador (Contactos).
Una cláusula FROM no cuenta los campos que se van a escoger.
WHERE City="Seattle"
Esta es la cláusula WHERE. Se compone de un operador (WHERE) seguido de un identificador (Ciudad="Seattle").
Nota:A diferencia de las cláusulas SELECT y FROM, la cláusula WHERE no es un factor obligatorio en una instrucción SELECT.
desarrollo de páginas web elche muchas de las acciones que le deja realizar SQL con las cláusulas SELECT, FROM y WHERE. En estos artículos adicionales se presenta más información sobre cómo emplear estas cláusulas:
Como Microsoft Excel, Access le permite ordenar los resultados de la consulta en una hoja de datos. También puede concretar en la consulta cómo quiere ordenar los resultados al ejecutar 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 quiere usar para ordenar, en el mismo orden en el que quiere aplicar las operaciones de ordenación.
Por ejemplo, suponga que desea ordenar los resultados por el valor del campo Empresa en orden descendente y, en caso de que haya registros con el mismo valor para Empresa, quiere ordenarlos además por el valor indicado en el campo Dirección de correo electrónico en orden ascendiente. La cláusula ORDER BY podría ser similar a la siguiente:
ORDER BY Company DESC, [E-correo Address]
Nota:De forma predeterminada, Access ordena los valores en orden ascendiente (A-Z, de menor a mayor). Use la palabra clave DESC para ordenar los valores en orden descendente en su sitio.
Para conseguir más información sobre la cláusula ORDER BY, vea el tema sobre la.
A veces quiere trabajar con datos resumidos, como las ventas totales en un mes o los elementos más caros de un inventario. Para esto, aplique una función de agregado a un campo en la cláusula SELECT. Por poner un ejemplo, si quiere que la consulta muestre el recuento de las direcciones de correo electrónico enumeradas de cada empresa, la cláusula SELECT podría ser afín a la siguiente:
SELECT COUNT([E-correo Address]), Company
Las funciones de agregado que puede emplear dependen del tipo de datos que haya en el campo o bien la expresión que quiera usar. Para conseguir más información sobre las funciones de agregado disponibles, consulte el artículo.
Al emplear funciones de agregado, generalmente debe crear también una cláusula GROUP BY. Una cláusula GROUP BY cuenta todos y cada uno de los campos a los que no se aplica una función de agregado. Si aplica funciones de agregado a todos y cada uno de los campos en una consulta, no tendrá que crear la cláusula GROUP BY.
Una cláusula GROUP BY va de manera inmediata después de la cláusula WHERE, o la cláusula FROM si no existe ninguna cláusula WHERE. Una cláusula GROUP BY cuenta los campos tal como aparecen en la cláusula SELECT.
Por ejemplo, siguiendo con el ejemplo anterior, si la cláusula SELECT aplica una función de agregado a [Dirección de correo electrónico] mas no a Empresa, la cláusula GROUP BY sería similar a la siguiente:
GROUP BY Company
Para obtener más información sobre la cláusula GROUP BY, vea el tema sobre la.
Si desea emplear criterios para limitar los resultados, mas el campo al que quiere aplicar los criterios se utiliza en una función de agregado, no puede utilizar una cláusula WHERE. En su lugar, use una cláusula HAVING. Una cláusula HAVING funciona como una cláusula WHERE, mas se utiliza para los datos agregados.
Por ejemplo, suponga que emplea la función COUNT (que devuelve un número de filas) con el primer campo de la cláusula SELECT:
SELECT COUNT([E-e mail Address]), Company
Si desea que la consulta restrinja los resultados según el valor de esa función COUNT, no puede usar un criterio para ese campo en la cláusula WHERE. En su sitio, ponga los criterios en una cláusula HAVING. Por servirnos de un ejemplo, si solo quiere que la consulta devuelva filas si hay más de una dirección de correo electrónico asociada a la compañía, la cláusula HAVING podría ser afín a la siguiente:
HAVING COUNT([E-mail Address])>1
Nota:Una consulta puede incluir una cláusula WHERE y una cláusula HAVING: los criterios para los campos que no se utilizan en una función de agregado se corresponden con la cláusula WHERE y los criterios de los campos que se utilizan en las funciones de agregado se corresponden con la cláusula HAVING.
Para conseguir más información sobre la cláusula HAVING, vea el tema sobre la.
Si desea comprobar todos y cada uno de los datos conseguidos en conjunto de múltiples consultas de selección afines, como un conjunto combinado, use el operador UNION.
El operador UNION le deja conjuntar dos instrucciones SELECT en una. Las instrucciones SELECT que combine deben tener exactamente el mismo número de campos de resultado, en exactamente el mismo orden y con el mismo tipo de datos o con géneros de datos compatibles. Al ejecutar la consulta, los datos de cada conjunto de campos correspondientes se combinan en un único campo de resultado de modo que el resultado de la consulta tenga el mismo número de campos que cada una de las instrucciones SELECT.
Nota:Para las consultas de unión, los modelos de datos Texto y Número son compatibles.
Si emplea el operador UNION, también puede usar la palabra clave ALL para concretar si los resultados de la consulta deben incluir las filas duplicadas, si hay alguna.
La sintaxis básica de SQL para una consulta de unión que combina 2 instrucciones SELECT es la siguiente:
Por ejemplo, pongamos que tiene una tabla llamada Productos y otra tabla denominada Servicios. Las dos tablas tienen campos que contienen el nombre del producto o servicio, el costo, la disponibilidad de garantía del servicio o de garantía del producto, y si el producto o servicio se ofrece de forma exclusiva. Si bien en la tabla Productos se guarda información de garantía del producto y en la tabla Servicios se almacena información de garantía del servicio, la información básica es la misma (si un producto o servicio determinado incluye una garantía de calidad). Puede usar una consulta de unión, como la que se muestra a continuación, para combinar los cuatro campos de las 2 tablas:
Para obtener más información sobre cómo combinar instrucciones SELECT mediante el operador UNION, vea.