Sunteți pe pagina 1din 6

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.

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 las consultas: 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. S
FROM Muestra las tablas que contienen los campos de la clusula 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 instruccin SQL que contiene funciones de agregado, muestra los campos que
no se resumen en la clusula SELECT.
Slo si estn estos
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
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]

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:

Clusula SELECT
Clusula FROM
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
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.
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.
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
;
Para obtener ms informacin acerca de cmo combinar instrucciones SELECT mediante el operador UNION, vea el artculo
Combinar los resultados de varias consultas de seleccin mediante una consulta de unin.

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