Sunteți pe pagina 1din 9

Access SQL:

conceptos bsicos,
vocabulario y sintaxis
Cuando desea recuperar datos de una base de datos, puede solicitar los datos mediante el Lenguaje
de consulta estructurado o SQL. SQL es un lenguaje de computacin que se asemeja al ingls, y que
los programas de bases de datos comprenden. Cada consulta que se ejecuta usa SQL en segundo
plano.
Si comprende el funcionamiento de SQL podr crear mejores consultas adems de solucionar una
consulta que no brinda los resultados deseados.
ste es uno de varios artculos acerca de Access SQL. En este artculo se describe el uso bsico de
SQL para seleccionar datos y se usan ejemplos para ilustrar la sintaxis de SQL.

En este artculo
Qu es SQL?
Clusulas SQL bsicas: SELECT, FROM y WHERE
Ordenar los resultados: ORDER BY
Trabajar con datos resumidos: GROUP BY y HAVING
Combinar los resultados de la consulta: UNION

Qu es SQL?
SQL es un lenguaje de computacin que sirve para trabajar con conjuntos de datos y las relaciones
entre ellos. Los programas de bases de datos relacionales, como Microsoft Office Access, usan SQL
para trabajar con datos. A diferencia de muchos lenguajes de computacin, SQL no es difcil de leer
y entender, incluso para un usuario inexperto. Al igual que muchos lenguajes de computacin, SQL
es un estndar internacional que es reconocido por organismos de estndares, como ISO y ANSI.

SQL no es difcil de leer y entender, incluso para un usuario inexperto.

SQL se usa para describir conjuntos de datos que pueden ayudarle a responder preguntas. Cuando
usa SQL, debe emplear la sintaxis correcta. La sintaxis es el conjunto de reglas mediante las cuales
se combinan los elementos de un lenguaje correctamente. La sintaxis de SQL se basa en la sintaxis
del ingls y usa muchos de los mismos elementos que la sintaxis de Visual Basic para Aplicaciones
(VBA).
Por ejemplo, una simple instruccin SQL que recupera una lista de los apellidos de contactos cuyo
nombre es Mara podra ser similar a esto:
SELECT Apellidos
FROM Contactos
WHERE Nombre = 'Mara';
NOTA SQL no se usa slo para manipular datos, sino tambin para crear y modificar el diseo de

objetos de una base de datos, como tablas. La parte de SQL que se usa para crear y modificar objetos
de una de base de datos se denomina lenguaje de definicin de datos (DDL). Este tema no cubre el
DDL. Para obtener ms informacin, vea el artculo Crear o modificar tablas o ndices mediante una
consulta de definicin de datos.

Instrucciones SELECT
Para describir un conjunto de datos mediante SQL, escriba una instruccin SELECT. Una
instruccin SELECT contiene una descripcin completa del conjunto de datos que desea obtener de
una base de datos. Incluye lo siguiente:

Qu tablas contienen los datos.

Cmo se relacionan los datos de orgenes diferentes.

Qu campos o clculos proporcionarn los datos.

Criterios que los datos deben cumplir para ser incluidos.

Si se deben ordenar los datos y, en caso de ser as, cmo deben ordenarse.

Clusulas de SQL
Al igual que una frase, una instruccin SQL tiene clusulas. Cada clusula realiza una funcin para
la instruccin SQL. Algunas clusulas son obligatorias en una instruccin SELECT. En la siguiente
tabla se enumeran las clusulas SQL ms comunes.

Clusula
SQL

Funcin

Obligatoria

SELECT

Muestra una lista de los campos que contienen datos de inters.

FROM

Muestra las tablas que contienen los campos de la clusula 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 instruccin SQL que contiene funciones de agregado, muestra los campos que
no se resumen en la clusula SELECT.

Slo si estn e
campos

HAVING

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

No

Trminos de SQL
Cada clusula SQL consta de trminos, comparables a diferentes partes de la oracin. En la siguiente
tabla se enumeran los tipos de trminos de SQL.

Trmino de
SQL

Parte de la oracin
comparable

Definicin

Ejemplo

identificador

sustantivo

Nombre que se usa para identificar un objeto de la base


de datos, como el nombre de un campo.

Clientes.[Nmero de
telfono]

operador

verbo o adverbio

Palabra clave que representa o modifica una accin.

AS

Trmino de
SQL

Parte de la oracin
comparable

Definicin

Ejemplo

constante

sustantivo

Valor que no cambia, como un nmero o NULO.

42

expresin

adjetivo

Combinacin de identificadores, operadores,


constantes y funciones que se evala como un valor
nico.

> = Productos.[Precio
por unidad]

Volver al principio

Clusulas SQL bsicas: SELECT,


FROM y WHERE
Una instruccin SQL tiene el formato general:
SELECT campo_1
FROM tabla_1
WHERE criterio_1
;
NOTAS

Access pasa por alto los saltos de lnea en una instruccin SQL. Sin embargo, conviene usar
una lnea para cada clusula para mejorar la legibilidad de las instrucciones SQL.

Cada una de las instrucciones SELECT termina con un punto y coma (;). El punto y coma
(;) puede aparecer al final de la ltima clusula o solo en una lnea al final de la instruccin SQL.

Un ejemplo en Access
A continuacin se muestra el aspecto que podra tener en Access una instruccin SQL para una
consulta de seleccin simple:

1. Clusula SELECT
2. Clusula FROM
3. Clusula WHERE
Este ejemplo de instruccin SQL indica "Seleccionar los datos almacenados en los campos Direccin
de correo electrnico y Empresa de la tabla llamada Contactos, especficamente aquellos registros en
los cuales el valor del campo Ciudad sea Seattle".
Veamos el ejemplo, una clusula cada vez, para ver cmo funciona la sintaxis de SQL.

La clusula SELECT
SELECT [Direccin de correo electrnico], Empresa
sta es la clusula SELECT. Se compone de un operador (SELECT) seguido de dos identificadores
([Direccin de correo electrnico] y Empresa).
Si un identificador contiene espacios en blanco o caracteres especiales (como "Direccin de correo
electrnico"), se debe escribir entre corchetes.
Una clusula SELECT no tiene que mencionar las tablas que contienen los campos y no puede
especificar las condiciones que deben cumplir los datos que se van a incluir.
La clusula SELECT siempre aparece antes que la clusula FROM en una instruccin SELECT.

La clusula FROM
FROM Contactos
sta es la clusula FROM. Se compone de un operador (FROM) seguido de un identificador
(Contactos).
Una clusula FROM no enumera los campos que desea seleccionar.

La clusula WHERE
WHERE Ciudad="Seattle"
sta es la clusula WHERE. Se compone de un operador (WHERE) seguido de un identificador
(Ciudad="Seattle").
NOTA A diferencia de las clusulas SELECT y FROM, la clusula WHERE no es un elemento

obligatorio en una instruccin SELECT.


Puede realizar muchas de las acciones que SQL permite realizar mediante las clusulas SELECT,
FROM y WHERE. En los siguientes artculos adicionales encontrar ms informacin sobre cmo
usar estas clusulas:

Access SQL: clusula SELECT

Access SQL: clusula FROM

Access SQL: clusula WHERE


Volver al principio

Ordenar los resultados: ORDER BY


Al igual que Microsoft Office Excel, Access le permite ordenar los resultados de la consulta en una
hoja de datos. Tambin puede especificar en la consulta cmo desea ordenar los resultados cuando se
ejecuta la consulta, mediante una clusula ORDER BY. Si usa una clusula ORDER BY, sta ser la
ltima clusula en la instruccin SQL.
Una clusula ORDER BY contiene una lista de los campos que desea usar para ordenar, en el mismo
orden en que desea aplicar las operaciones de ordenacin.
Por ejemplo, suponga que desea ordenar sus resultados por el valor del campo Empresa en orden
descendente y, en caso de que haya registros con el mismo valor para Empresa, desea ordenarlos
tambin por el valor indicado en el campo Direccin de correo electrnico en orden ascendente. Su
clusula ORDER BY podra parecerse a la siguiente:
ORDER BY Empresa DESC, [Direccin de correo electrnico]
NOTA De forma predeterminada, Access ordena los valores de forma ascendente (A-Z, de menor a

mayor). Use la palabra clave DESC para ordenar los valores en orden descendente.
Para obtener ms informacin sobre la clusula ORDER BY, vea el tema Clusula ORDER BY.
Volver al principio

Trabajar con datos resumidos: GROUP


BY y HAVING
A veces, desea trabajar con datos resumidos, como las ventas totales de un mes o los elementos ms
caros en el inventario. Para ello, debe aplicar una funcin de agregado a un campo en la clusula
SELECT. Por ejemplo, si desea que la consulta muestre la cantidad de direcciones de correo
electrnico para cada una de las empresas, la clusula SELECT debera parecerse a la siguiente:
SELECT COUNT([Direccin de correo electrnico]), Empresa
Las funciones de agregado que se pueden usar dependen del tipo de datos del campo o la expresin
que desea emplear. Para obtener ms informacin acerca de las funciones de agregado disponibles,
vea el artculo Funciones de agregado de SQL.

Especificar campos que no se usan en una funcin de


agregado: la clusula GROUP BY
Al usar las funciones de agregado, normalmente debe crear una clusula GROUP BY. Una clusula
GROUP BY muestra una lista de todos los campos a los que no se aplica una funcin de agregado.
Si aplica las funciones de agregado a todos los campos de una consulta, no es necesario crear la
clusula GROUP BY.
Una clusula GROUP BY se encuentra inmediatamente despus de la clusula WHERE, o la
clusula FROM si no hay una clusula WHERE. La clusula GROUP BY muestra una lista de los
campos que aparecen en la clusula SELECT.
Por ejemplo, siguiendo con el ejemplo anterior, si la clusula SELECT aplica una funcin de
agregado a [Direccin de correo electrnico] pero no a Empresa, la clusula GROUP BY se
parecera a la siguiente:
GROUP BY Empresa
Para obtener ms informacin sobre la clusula GROUP BY, vea el tema Clusula GROUP BY.

Limitar los valores de agregado mediante los criterios


de agrupacin: la clusula HAVING
Si desea usar criterios para limitar sus resultados, pero el campo al que desea aplicar el criterio se
usa en una funcin de agregado, no puede usar una clusula WHERE. Por el contrario, debe usar una
clusula HAVING. La clusula HAVING funciona como la clusula WHERE, pero se usa para los
datos agregados.

Por ejemplo, suponga que usa la funcin COUNT (que devuelve un nmero de filas) con el primer
campo de la clusula SELECT:
SELECT COUNT([Direccin de correo electrnico]), Empresa
Si desea que la consulta limite los resultados segn el valor de la funcin COUNT, no puede usar un
criterio para dicho campo en la clusula WHERE. Por el contrario, debe colocar el criterio en una
clusula HAVING. Por ejemplo, si slo desea que la consulta indique las filas en caso de que exista
ms de una direccin de correo electrnico asociada con la empresa, la clusula HAVING debera
parecerse a la siguiente:
HAVING COUNT([Direccin de correo electrnico])>1
NOTA Una consulta puede incluir una clusula WHERE y una clusula HAVING: los criterios para

los campos que no se usan en una funcin de agregado corresponden a la clusula WHERE y los
criterios de los campos que se usan en las funciones de agregado corresponden a la clusula
HAVING.
Para obtener ms informacin sobre la clusula HAVING, vea el tema Clusula HAVING.
Volver al principio

Combinar los resultados de la consulta:


UNION
Cuando desea revisar todos los datos obtenidos en conjunto de varias consultas de seleccin
similares, como un conjunto combinado, use el operador UNION.
El operador UNION le permite combinar dos instrucciones SELECT en una. Las instrucciones
SELECT que combine deben tener la misma cantidad de campos de resultado, en el mismo orden y
con el mismo tipo de datos o con tipos de datos compatibles. Cuando ejecuta 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 tendr la misma cantidad de campos que cada una de las instrucciones
de seleccin.
NOTA A efectos de una consulta de unin, los tipos de datos Texto y Nmero son compatibles.

Cuando usa el operador UNION, tambin puede especificar si los resultados de la consulta deben
incluir las filas duplicadas, si existe alguna, mediante la palabra clave ALL.
La sintaxis bsica de SQL para una consulta de unin que combina dos instrucciones SELECT es la
siguiente:

SELECT campo_1
FROM tabla_1
UNION [ALL]
SELECT campo_a
FROM tabla_a
;

Por ejemplo, supongamos que tiene una tabla denominada Productos y otra tabla denominada
Servicios. Ambas tablas tienen campos que contienen el nombre del producto o servicio, el precio, la
disponibilidad de garanta del servicio o de garanta del producto, y si el producto o servicio se
ofrece de forma exclusiva. Si bien en la tabla Productos se almacena informacin de garanta del
producto y en la tabla Servicios se almacena informacin de garanta del servicio, la informacin
bsica es la misma (si un determinado producto o servicio viene acompaado de una garanta de
calidad). Puede usar una consulta de unin, como la que figura a continuacin, para combinar los
cuatro campos de las dos tablas:
SELECT nombre, precio, garanta_disponible, oferta_exclusiva
FROM Productos
UNION ALL
SELECT nombre, precio, garanta_disponible, oferta_exclusiva
FROM Servicios
;

S-ar putea să vă placă și