Beruflich Dokumente
Kultur Dokumente
1
Las instrucciones del DML se organizan formando consultas SQL que el SGBD procesa
generando vistas de la BD, que simulan resúmenes de la misma.
SELECT nombre-cliente
FROM clientes
WHERE id-cliente = “19 283 746”’
Cláusula SELECT
La cláusula SELECT solo hará referencia a las tablas de donde provienen los campos si
los mismos poseen el mismo nombre, como en el siguiente caso:
Aquí la consulta incluye dos campos con el mismo nombre (DNI), que pertenecen a
tablas diferentes (Estudiantes y Matriculados). Para mostrar la relación entre una tabla
y su campo se utiliza un punto entre ellos (por ejemplo Estudiantes.DNI).
En ocasiones, se hace necesario seleccionar todos los campos de una tabla. Para evitar
enunciarlos uno por uno, se puede utilizar el símbolo *, como en el siguiente ejemplo:
SELECT clientes.*
FROM clientes
2
Cláusula FROM
Cláusula WHERE
La cláusula WHERE permite definir criterios para “filtrar” registros, es decir, indicar qué
características deben reunir aquellos que aparecerán en la vista. A diferencia de las
cláusulas SELECT y FROM, la cláusula WHERE no es un elemento obligatorio en una
consulta.
, donde campo refiere a uno o varios campos de una o más tablas involucradas en la
consulta, y criterio es una cadena que puede estar compuesta por operadores,
constantes y otros símbolos, en función del tipo de datos del campo involucrado.
3
Para incluir registros
Ejemplo Resultado de la consulta
que...
Contengan valores Devuelve registros en los que no
País IS NULL
nulos (o que falten) hay ningún valor en el campo.
Contengan cadenas de Devuelve registros en los que el
País ="" (un par de
longitud cero campo tiene un valor en blanco
comillas)
(pero no nulo).
Vayan a continuación Devuelve registros de todos los
de un valor, como países a partir de México y
País >= "México"
México, si se ordenan posteriores por orden alfabético.
alfabéticamente
Coincidan con uno de Devuelve registros de Estados
dos valores, tales como País = "Estados Unidos y Reino Unido. Observe el
Estados Unidos o Reino Unidos" OR País uso del conector lógico OR que
Unido ="Reino Unido" permite comparar el campo con
más de un criterio.
Contengan uno de los País IN("Francia", Devuelve registros de todos los
valores de una lista "China", "Alemania", países especificados en la lista.
"Japón")
Coincidan con un Devuelve registros de países como
modelo específico China y Chile, cuyos nombres
tengan cinco caracteres y los
primeros tres sean "Chi".
País LIKE "Chi??"
El caracter ?, cuando se usa en
una expresión, representa un
único carácter comodín.
4
Para incluir registros
Ejemplo Resultado de la consulta
que...
Devuelve registros en los que el precio
Contengan un valor unitario es mayor que 99.99 $ (>99.99). La
>99,99
mayor que otro valor, segunda expresión muestra los registros
>=99,99
como 99,99 en los que el precio por unidad es mayor o
igual que 99.99 $.
Contengan uno de Precio = 20
Devuelve registros en los que el precio por
entre dos valores, OR
unidad es 20 $ o 25 $.
como 20 o 25 Precio = 25
Contengan un valor Precio
Devuelve registros en los que el precio
que esté incluido en BETWEEN 50
unitario está entre 50 $ y 100 $.
un intervalo AND 100
Contengan un valor
Precio<50 OR Devuelve registros en los que el precio por
que esté fuera de un
Precio >100 unidad no está entre 50 $ y 100 $.
intervalo
Contengan uno entre Precio IN(20, Devuelve registros en los que el precio por
varios valores 25, 30) unidad es 20 $, 25 $ o 30 $.
Devuelve registros en los que no se ha
Contengan valores
Precio IS NULL especificado ningún valor en el campo
nulos (o que falten)
Precio.
Para incluir
Ejemplo Resultado de la consulta
registros que...
Devuelve registros de
transacciones que tuvieron lugar
Coincidan
el 2 de febrero de 2006. Siempre
exactamente
hay que rodear los valores de
con un valor, Ingreso = #02/02/2006#
fecha con el carácter # para que
como
Access pueda distinguir entre
02/02/2006
valores de fecha y cadenas de
texto.
No coincidan Devuelve registros de
con un valor, transacciones que tuvieron lugar
Ingreso NOT #02/02/2006#
como cualquier día menos el 2 de
02/02/2006 febrero de 2006.
Contengan
Devuelve registros de
valores previos
Ingreso < #02/02/2006# transacciones que tuvieron lugar
a una fecha
después del 2 de febrero de 2006.
determinada.
5
Para incluir
Ejemplo Resultado de la consulta
registros que...
Devuelve los registros en los que
las transacciones tuvieron lugar
Ingreso >#02/02/2006# AND
Contengan entre el 2 de febrero de 2006 y el
Ingreso<#04/02/2006#
valores 4 de febrero de 2006.
comprendidos
Ingreso BETWEEN
en un intervalo También puede usar el
#02/02/2006# AND
de fechas operador Entre para filtrar según
#04/02/2006#
un intervalo de valores, incluidos
los extremos.
Devuelve registros de
Contengan uno Ingreso = #02/02/2006# OR transacciones que tuvieron lugar
de dos valores. Ingreso = #03/02/2006# el 2 de febrero de 2006 o el 3 de
febrero de 2006.
Devuelve los registros en los que
Contengan uno Ingreso IN (#01/02/2006#, las transacciones tuvieron lugar el
entre varios #01/03/2006#, 1 de febrero de 2006, el 1 de
valores #01/04/2006#) marzo de 2006 o el 1 de abril de
2006.
Contengan una Devuelve registros en los que las
fecha de un mes transacciones tuvieron lugar en
específico DatePart("m", Ingreso) = 12 diciembre de cualquier año.
(independiente DatePart es una función SQL
mente del año) soportada por Accesss
Contengan la
Devuelve registros de
fecha en curso
transacciones que tuvieron lugar
(la fecha actual
el día actual. Si hoy es
es Ingreso = Date()
02/02/2006, verá los registros en
proporcionada
los que el campo Ingreso esté
por la función
definido en 2 de febrero de 2006.
Date()
Devuelve registros de
transacciones que tuvieron lugar
Contengan la
Ingreso = Date()-1 el día anterior al día actual. Si hoy
fecha de ayer
es 02/02/2006, verá los registros
del 1 de febrero de 2006.
Devuelve registros de
transacciones que tuvieron lugar
Contengan una
durante los últimos 7 días. Si hoy
fecha que entre Ingreso BETWEEN Date()
es el 02/02/2006, verá los
dentro de los AND Date()-6
registros correspondientes al
últimos 7 días
intervalo comprendido entre el 24
de enero de 2006 y el 2 de febrero
6
Para incluir
Ejemplo Resultado de la consulta
registros que...
de 2006.
Contengan una Year(Ingreso) = Year(Now()) Devuelve registros del mes actual.
fecha del mes AND Month(Ingreso) = Si hoy es 02/02/2006, verá los
en curso Month(Now()) registros de febrero de 2006.
Contengan una
Devuelve registros del año en
fecha
Year(Ingreso) = Year(Date()) curso. Si hoy es 02/02/2006, verá
correspondiente
los registros del año 2006.
al año en curso
Contengan una Devuelve registros de
Year(Ingreso) = Year(Date())
fecha del año transacciones que tuvieron lugar
-1
anterior durante el año pasado.
Contengan una Devuelve registros de
Year(Ingreso) = Year(Date())
fecha del año transacciones con fecha del año
+1
siguiente siguiente.
Contengan una Devuelve registros de
Ingreso < Date()
fecha ya pasada transacciones anteriores a hoy.
Filtren valores
Devuelvan registros en los que
nulos (o que Ingreso IS Null
falte la fecha de la transacción.
falten)
Ejemplo Resultado
Casado = Si Probado para un valor Sí. Un valor 1 o -1 se
Casado = True convierte en "Verdadero" en la fila Criterios
Casado = 1 cuando lo introduce.
Casado = -1
Casado = No Probado para un valor No. Un valor 0 se convierte
Casado = Falso en "Falso" en la fila Criterios cuando lo introduce.
Casado = 0
Un número distinto de 1, -1 o 0 No se obtiene ningún resultado si es el único valor
Casado = 2 de criterios del campo
Una cadena de caracteres que
Se produce un error en la ejecución de la consulta
no sea Sí, No, Verdadero o Falso
debido a que los tipos de datos no coinciden
Casado = “Casado”
7
Cláusula ORDER BY
La cláusula ORDER BY en Access ordena los registros resultantes de una consulta por
un campo o campos especificados en orden ascendente o descendente.
ORDER BY es opcional, solo se usa cuando se requiere que los datos se muestren
siguiendo un orden ascendente o descendente. Para ordenar en orden descendente
(de la Z a la A, de 9 a 0), agregue la palabra reservada DESC.
Se trata de funciones que vienen incorporadas al SQL, mediante las cuales se pueden
determinar varias medidas estadísticas para un conjunto de valores.
AVG:
Calcula la media aritmética de un conjunto de valores contenidos en un campo
especificado en una consulta.
COUNT:
Calcula el número de registros devueltos por una consulta.
Si el campo que se usa para contar, en un registro, tiene valor NULL, el registro se
omite, a menos que se use el carácter comodín *, como en el siguiente ejemplo:
SELECT COUNT(*)
FROM Empleados
8
MIN, MAX, FIRST, LAST:
Devuelve el valor mínimo, el máximo, el primero o el último, de un conjunto de
registros.
Si el campo que se usa para contar, en un registro, tiene valor NULL, el registro se
SUM:
Devuelve la suma de un conjunto de valores contenidos en un campo especificado en
una consulta. También pueden incluirse como operandosLos operandos
de expr pueden incluir el nombre de un campo de tabla, una constante o una función
(que puede ser intrínseca o definida por el usuario, pero no una de las otras funciones
de agregado de SQL).
Observaciones
La función suma calcula el total de los valores de un campo. Por ejemplo, puede usar la
función suma para determinar el costo total de los cargos del flete.
La función suma omite los registros que contienen campos nulos. En el ejemplo
siguiente se muestra cómo se puede calcular la suma de los productos de los campos
PrecioUnidad y cantidad:
Puede usar la función suma en una expresión de consulta. También puede usar esta
expresión en la propiedad SQL de un objetoQueryDef o al crear un conjunto de
registros basado en una consulta SQL.
9
Para ampliar la información sobre las consultas SQL en Access, puedes hacer clic sobre
los siguientes links:
https://support.office.com/es-es/article/access-sql-conceptos-b%C3%A1sicos-
vocabulario-y-sintaxis-444d0303-cde1-424e-9a74-e8dc3e460671
10