Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Existen numerosas versiones de SQL. Este lenguaje originalmente fue llamado Sequel
(década del ’70), que ha evolucionado cambiando su nombre a SQL (Structured Query
Languaje o lenguaje de consulta estructurado). Access es capaz de soportar este lenguaje.
La estructura básica de una expresión en SQL consta de tres cláusulas: SELECT, FROM y
WHERE.
SELECT NOMBRE
FROM ALUMNOS
O sea que Select significa mostrar, y FROM de que tabla. Si se trabaja con varias tablas
en el SELECT el nombre del campo que se desea mostrar deberá ir antecedido por el nombre
de la tabla.
Por ejemplo si quisiéramos mostrar el nombre del alumno, y su calificación en los tres
trimestres, sería:
La instrucción WHERE, significa “cuando”, es decir que se pueden mostrar registros que
tengan determinada condición. Por ejemplo, para ver los alumnos cuya calificación es menor a
4 sería:
Si desea ver todos los alumnos con sus calificaciones y su promedio correspondiente,
pruebe con el asistente para consultas de referencia cruzada.
AND: significa “y”. Por ejemplo, si quisiéramos los alumnos cuyas notas están entre 4 y 7
sería:
AVG: calcula la media aritmética (comúnmente llamada promedio), por ejemplo si quisiera el
promedio para cada alumno la instrucción sería:
Nota: es necesario igualar los registros para que concuerden las relaciones. (el por qué
de la línea 3).
GROUP BY: Combina en un único registro los registros con valores idénticos en la lista de
campos especificada. Se creará un valor de resumen para cada registro si incluye una
función agregada de SQL, como Sum o Count, en la instrucción SELECT.
Para esto se necesitan dos consultas, una para crear una tabla auxiliar con los promedios de
cada alumno:
SELECT IdAlumno, Avg(Calificacion) AS Promedio
INTO [Auxiliar_Promedios]
FROM Notas
GROUP BY Notas.IdAlumno;
DELETE: Crea una consulta de eliminación que elimina registros de una o más tablas
enumeradas en la cláusula FROM y que cumplen la cláusula WHERE. El ejemplo
eliminaría todos los registros de los alumnos cuya calificación sea menor a 4.
INSERT: Agrega uno o varios registros a una tabla. Esto se conoce como una consulta de
datos añadidos. En el ejemplo siguiente se crea un registro nuevo en la tabla Alumnos:
LIKE: Compara una expresión de cadena con un modelo en una expresión SQL. En el
ejemplo siguiente se muestran todos los alumnos cuya calificación fue de 10 puntos:
SELECT Alumnos.Nombre
FROM Alumnos, Notas
WHERE Alumnos.IdAlumno = Notas.IdAlumno
AND Notas.Calificacion Like 10;
Este otro ejemplo devuelve una lista de empleados cuyos nombres comienzan por las letras A
a D.
SELECT * FROM Empleados WHERE Apellido Like '[A-D]*';
NOT: Se utiliza para ejecutar una negación lógica sobre una expresión.
El ejemplo siguiente da una lista de alumnos con los notas de todos los trimestre,
exceptuando el 1.
ORDER: Ordena los registros resultantes de una consulta por un campo o unos campos
especificados en sentido ascendente o descendente.
El siguiente ejemplo muestra un listado de los alumnos ordenados alfabéticamente:
SELECT Nombre
FROM Alumnos
ORDER BY Nombre Asc;
SELECT Nombre
FROM Alumnos
ORDER BY Nombre Desc;
SET: crea una consulta de actualización que cambia los valores de los campos en una tabla
específica según un criterio específico.
En el ejemplo siguiente se cambian los valores del campo Jefe a 5 para todos los
registros de empleados que actualmente tienen el valor 2 en Jefe:
UPDATE: Crea una consulta de actualización que cambia los valores de los campos en una
tabla específica según un criterio específico.
TOP: Devuelve cierto número de registros que se encuentran entre la parte superior e inferior
de un intervalo especificado por una cláusula ORDER BY. Suponga que desea obtener los
nombres de los primeros 25 alumnos de la promoción de 1994:
SELECT TOP 25
Nombre, Apellidos
FROM Alumnos
WHERE AñoGraduación = 1994
ORDER BY NotasMedias DESC;
El ejemplo de abajo muestra el nombre de los alumnos que ya han dado exámen (con
respecto a la fecha actual), y la nota que sacaron.
Si quisiera ver el año que se tomó el exámen (siguiendo el ejemplo anterior), la primera línea
sería:
Weekday: Día de la semana. Devuelve el número de día de la semana de una fecha dada. El
1 es domingo, 2 el lunes, etc.
DATEDIFF: Devuelve un valor de tipo Variant (Long) que especifica el número de intervalos
de tiempo entre dos fechas determinadas.
Este ejemplo utilizan la función DateDiff para calcular el número de semanas entre la
fecha de exámen y el día de hoy
SELECT Alumnos.Nombre, Notas.Calificacion,
datediff( "ww",FechaExamen, now( ) ) AS[Semanas]
Este otro indica el número de días que pasaron entre la fecha de exámen y la actual:
Como se ve, lo que hace a la diferencia es el valor que se escribe en la primer parte de
la instrucción: el intervalo. Este puede tomar los siquientes valores:
Intervalo Descripción
yyyy Año
q Trimestre
m Mes
y Día del año
d Día
w Día de la semana
ww Semana
h Hora
n Minuto
s Segundo
MINUTE: Devuelve un valor de tipo Variant (Integer) que especifica un número entero entre
0 y 59, inclusive, que representa el minuto de la hora.
DATEPART: Devuelve un valor de tipo Variant (Integer) que contiene la parte especificada de
la fecha dada. Se usan los mismos valores que la tabla de arriba.
El siguiente ejemplo lista todos los pedidos realizados en el primer trimestre de 1.996.
SUMFECHA: Devuelve un valor de tipo Variant (Date) con una fecha a la que se ha agregado
un intervalo de tiempo especificado. Igualmente se usan los valores de la tabla de la hoja
anterior.
El siguiente ejemplo muestra la fecha en la que debe ser enviado un pedido determinado; en
este caso, treinta días después de la FechaDePedido.
= DateAdd("d", 30, [FechaDePedido])