Sei sulla pagina 1di 6

Universidad de Santiago de Chile Profesor Héctor Ponce

Facultad de Administración y Economía


Departamento de Contabilidad y Auditoría

A continuación encontrarán un conjunto de operadores y funciones en SQL con ejemplos para


operar con MS-Access. Estos ejemplos consideran las tablas y datos de la base de datos Neptuno.

Operadores Aritméticos

OPERADOR DESCRIPCIÓN EJEMPLO


+ Agrega dos operadores
UnidadesEnExistencia+UnidadesEnPedido
[-] Resta dos operadores UnidadesEnExistencia-10
[-] (unario) Cambia el signo de un operando -PrecioUnidad
* Multiplica dos operandos UnidadesEnExistencia*PrecioUnidad
/ Divide un operando por otro UnidadesEnExistencia/12
\ Divide un operando de entero por otro UnidadesEnExistencia\2
Mod Devuelve lo que queda de una división UnidadesEnExistencia mod 12
por un entero
^ Eleva un operando a una potencia UnidadesEnExistencia ^ 2
(exponente)

OPERADOR EJEMPLO EN SQL


+ SELECT NombreProducto, UnidadesEnExistencia+UnidadesEnPedido
FROM Productos;
[-] SELECT UnidadesEnExistencia-10
FROM Productos;
[-] (unario) SELECT NombreProducto, -PrecioUnidad
FROM Productos;
* SELECT NombreProducto, UnidadesEnExistencia*PrecioUnidad
FROM Productos;
/ SELECT NombreProducto, UnidadesEnExistencia/12
FROM Productos;
Mod SELECT NombreProducto, UnidadesEnExistencia mod 12
FROM Productos;

Operadores de Comparación

OPERADOR DESCRIPCIÓN EJEMPLO


< Menor que PrecioUnidad < 100
<= Menor o igual que PrecioUnidad <= 100
= Igual PrecioUnidad = 100
>= Mayor o igual que PrecioUnidad >= 100
> Mayor que PrecioUnidad > 100
<> Distinto PrecioUnidad <> 0

OPERADOR EJEMPLO EN SQL


< SELECT *
FROM Productos
WHERE PrecioUnidad < 100;
<= SELECT *
Universidad de Santiago de Chile Profesor Héctor Ponce
Facultad de Administración y Economía
Departamento de Contabilidad y Auditoría
FROM Productos
WHERE PrecioUnidad <= 100;
= SELECT *
FROM Productos
WHERE PrecioUnidad = 18;
>= SELECT *
FROM Productos
WHERE PrecioUnidad >= 100;
> SELECT *
FROM Productos
WHERE PrecioUnidad > 100;
<> SELECT *
FROM Productos
WHERE PrecioUnidad <> 18;

Operadores Lógicos

OPERADOR DESCRIPCIÓN Ejemplo 1, Ejemplo 2 Resultado 1,


Resultado 2
And Y Lógico True And True, True And False True, False
Or O inclusivo True Or False, False Or False True, False
Not No lógico Not True, Not False True, False

Tabla de verdad para dos sentencias o variables y su valor resultado.

Variables Operador
A B And Or
True True True True
True False False True
False True False True
False False True False

OPERADOR EJEMPLO EN SQL


And SELECT *
FROM Productos
WHERE preciounidad >=30 AND preciounidad<=100;
Or SELECT *
FROM Productos
WHERE nombreproducto like "*queso*" OR IdCategoría = 4 ;
Not SELECT *
FROM Productos
WHERE IdProveedor Is Not Null;

Otros Operadores

OPERADOR DESCRIPCIÓN EJEMPLO


Is Se usa con Null para determinar si un valor es Null o Not Is Null, Is Not Null
Null
Like Determina si un valor de cadena empieza por uno o más Like “queso*”
caracteres. Like “que??”
Universidad de Santiago de Chile Profesor Héctor Ponce
Facultad de Administración y Economía
Departamento de Contabilidad y Auditoría
(para que Like funcione correctamente hay que añadir un
comodín, *, o uno o más signos?)
In Determina si un valor de cadena es un integrante de una In (21, 40, 10)
lista de valores
Between Determina si un valor numérico o de fecha está dentro Between 50 AND 100
de un rango especificado de valores

OPERADOR EJEMPLO EN SQL


Is SELECT *
FROM Productos
WHERE IdProveedor Is Not NULL;
Like SELECT NombreProducto, PrecioUnidad
FROM Productos
WHERE NombreProducto LIKE "*queso*";
In SELECT NombreProducto, PrecioUnidad
FROM Productos
WHERE PrecioUnidad IN (21,40,10)
Between SELECT NombreProducto, PrecioUnidad
FROM Productos
WHERE PrecioUnidad BETWEEN 50 AND 100;

Funciones de SQL para Fecha y Hora

FUNCIÓN DESCRIPCIÓN EJEMPLO DEVUELVE


Date Devuelve la fecha y hora activa del Date() 16/5/07
sistema.
DateAdd Devuelve una fecha con un DateAdd 15/8/98
número especificado de días (“d”), (“d”, 31, #15/7/98#)
semanas (“ww”), meses (“m”) o
años (“yyyy”) agregados a la fecha
DateDiff Devuelve un entero que representa DateDiff (“d”, Date, -91(asumiendo
Date la diferencia entre dos fechas #4/15/98#) que = 15/7/98)
utilizando la especificación
d/ww/m/yyyy.
DatePart Devuelve la parte especificada de DatePart 7 (Sábado)
una fecha como un día, mes, año, (“w”, #15/7/98)
día de la semana (“w”), etc., como
Entero
DateSerial Devuelve un argumento año, mes DateSerial 15/7/98
y día. (“15-jul-98”)
DateValue Devuelve un argumento fecha en DateValue 15/7/98
un formato de caracteres. (“15-jul-98”)
Day Devuelve un Entero entre 1 y 31 Day(Date) 15 (asumiendo que
(inclusive) que representa la fecha es el día
Day(Date) un día del mes de un 15 del mes)
valor Fecha/Hora.
Hour Devuelve un Entero entre 0 y 23 Tour (#2:30 PM#) 14
(inclusive) que representa la hora
de un valor Fecha/Hora.
Minute Devuelve un Entero 0 y 59 Minute (#2:30 PM#) 30
(inclusive) que reprenda el minuto
de un valor Fecha/Hora.
Universidad de Santiago de Chile Profesor Héctor Ponce
Facultad de Administración y Economía
Departamento de Contabilidad y Auditoría
Month Devuelve un Entero entre 1 y 12 Month (#15-jul-98) 7
(inclusive) que representa el mes
de un valor Fecha/Hora.
MonthName Devuelve el nombre completo o MonthName Octubre, Oct.
abreviado de un mes (1 a 12). Si (10, False)
se omite el segundo argumento, la MonthName
función devolverá el nombre (10, True)
completo.
Now Devuelve la fecha y hora del Now 15/7/98,
sistema de reloj de la computadora 11:57:28 AM
Second Devuelve un Integer entre 0 y 59 Second(Now) 28
(inclusive) que representa el
segundo de un valor Fecha/Hora.
Time Devuelve la porción Hora de un Time 11:57:20 AM
valor Fecha/Hora del reloj del
sistema.
TimeSerial Devuelve el valor de hora serial TimeSerial 11:57:20 AM
expresada en horas, minutos y (11, 57, 20)
segundos en forma de enteros.
TimeValue Devuelve el valor de hora serial TimeValue 11:57
(introducida como valor String) (“11:57”)
Year Devuelve el año de un valor Year (#15/7/98#) 1994
Fecha/Hora como Entero.

FUNCIÓN EJEMPLO EN SQL


Date SELECT apellidos, nombre, (Date()-FechaContratación)/365
AS "Años de servicio a la fecha"
FROM Empleados;
DateAdd SELECT apellidos, nombre, DateAdd("yyyy", 10, fechacontratación)
AS [Fecha Contratación + 10 años]
FROM Empleados;
DateDiff SELECT apellidos, nombre, Datediff("d", fechacontratación, date())/365
Date AS [Años de servicio]
FROM Empleados;
DatePart SELECT apellidos, nombre, fechacontratación
FROM Empleados
WHERE datepart("yyyy", fechacontratación)=1992;
DateSerial SELECT Apellidos, nombre, ( DateSerial(98,7,15)-FechaContratación)/365
AS "Años de servicio al 15-jul-98"
FROM Empleados;
DateValue SELECT Apellidos, nombre, ( DateValue("15-Jul-98")-FechaContratación)/365
AS "Años de servicio al 15-jul-98"
FROM Empleados
Day SELECT apellidos, nombre, Day(fechanacimiento) AS [Día de Nacimiento]
FROM Empleados
Month SELECT apellidos, nombre, Month(fechanacimiento) AS [Mes de Nacimiento]
FROM Empleados;
MonthName SELECT apellidos, nombre, MonthName(Month(fechanacimiento), false)
AS [Mes de Nacimiento]
FROM Empleados;
Now SELECT apellidos, nombre, (Now()-FechaContratación)/365 AS Antigüedad
FROM Empleados
Year SELECT apellidos, nombre, Year(fechanacimiento) AS [Año de Nacimiento]
FROM Empleados;
Universidad de Santiago de Chile Profesor Héctor Ponce
Facultad de Administración y Economía
Departamento de Contabilidad y Auditoría

FUNCIÓN DESCRIPCIÓN EJEMPLO EN SQL


Format Da formato a una expresión SELECT apellidos, nombre, Format
de acuerdo con cadenas (FechaContratación,"dd-mmmm-yy")
apropiadas de formato AS FechaContrato
FROM Empleados

Operadores de cálculo

OPERADOR DESCRIPCIÓN
Count Permite contar cuantas filas cumplen las condiciones indicadas por la consulta.
Avg Permite calcular el valor promedio de los registros.
Sum Permite calcular la suma total de un campo, para todos los registros que cumplen
las condiciones indicadas.
Min Permite obtener el valor mínimo asociado a un determinado campo, dentro de
todos los registros que cumplen las condiciones de la consulta.
Max Permite obtener el valor máximo asociado a un determinado campo, dentro de
todos los registros que cumplen las condiciones de la consulta.

OPERADOR EJEMPLO EN SQL REGISTROS DEVUELTOS


Count SELECT count(*) Se obtiene el numero de productos que
FROM Productos no tienen el id del proveedor nulo.
WHERE IdProveedor Is Not NULL;
Avg SELECT avg(PrecioUnidad) Se obtiene el precio promedio de los
FROM Productos; productos.
Sum SELECT Se obtiene el monto total al que
sum(PrecioUnidad*UnidadesEnExistencia) equivale el stock de bodega.
FROM Productos;
Min SELECT min(PrecioUnidad) Se obtiene el precio mínimo de los
FROM Productos; productos en el sistema.

Max SELECT min(PrecioUnidad) Se obtiene el precio máximo de los


FROM Productos; productos en el sistema.

Operadores que permiten ordenar y filtrar los datos

OPERADOR DESCRIPCIÓN EJEMPLO


Order By Permite ordenar los resultados de una consulta de Order By campo, Order
manera ascendente o descendente con respecto a un By campo Desc
campo.
Group By Permite agrupar filas que contienen el mismo valor en un Group By campo
determinado campo y realizar operaciones de agregado.
Having Permite limitar el resultado obtenido de una consulta, Having función
que utiliza una función de agregado. agregado

OPERADOR EJEMPLO EN SQL REGISTROS DEVUELTOS


Order By SELECT * Se obtienen todos aquellos productos que
Universidad de Santiago de Chile Profesor Héctor Ponce
Facultad de Administración y Economía
Departamento de Contabilidad y Auditoría
FROM Productos no tengan el id del proveedor nulo,
WHERE IdProveedor Is Not NULL ordenados de manera ascendente de
Order By PrecioUnidad; acuerdo al precio.
Group By SELECT IdProveedor, count(*) Se obtiene la cantidad de productos que son
FROM Productos proporcionados por cada proveedor.
GROUP BY IdProveedor;
Having SELECT IdProveedor, count(*) Se obtienen solo aquellos proveedores que
FROM Productos proporcionan más de tres productos.
GROUP BY IdProveedor
HAVING count(*)>3;

Expresiones típicas utilizadas como criterios de consulta

CAMPO DESCRIPCIÓN REGISTROS DEVUELTOS


Tabla Clientes

País Not “Estados Unidos” Compañías que no sean las de Estados


And Not “Canadá” Unidos y tampoco de Canadá
País Not (“Estados Unidos” Compañías que no sean las de Estados
Or “Canadá”) Unidos y tampoco de Canadá; los
paréntesis se aplican a la condición de
ambos literales.
Nombre de Like “[N-Z]*” Compañías con nombres que empiecen por
compañía la N hasta la Z.
Nombre de Like “S*” Or Like “V*” Compañías con nombres que empiecen por
compañía la S o V.
Nombre de Like “*empres*” Compañías con empresa, Empresa o
compañía EMPRESARIAL en el nombre de la
compañía.
Código postal >=90000 Compañías provistas de códigos postales
mayores o iguales que 90000.
Tabla de Pedidos

Fecha de pedido Year(FechaPedido) = 1997 Pedidos recibidos durante el año 1997.


Fecha de pedido (Year(FechaPedido)=1997) Pedidos recibidos en el primer trimestre de
AND 1997
(DatePart("q",FechaPedido)=1);
Fecha de pedido Between #1/1/97# Pedidos recibidos en el primer trimestre de
And #3/31/97 1997.
Fecha de pedido Year(FechaPedido)=1997 And Pedidos recibidos en la décima semana de
DatePart("ww", 1997.
FechaPedido)=10
Fecha de pedido >= DateValue("15/1/97") Pedidos recibidos el día 15/1/97 o después.
Fecha de entrega Is Null Pedidos no enviados todavía.
Cargo >=5000 Pedidos con valores superiores o
equivalentes a $5.000.-
Cargo Between 5000 And 10000 Pedidos con valores superiores o
equivalentes a $5.000 e inferiores o
equivalentes a $10.000.-
Cargo < 1000 Pedidos inferiors a $1.000.-

Referencia: Jennings, R. (2000). Microsoft Access 2000. Madrid: Prentice-Hall. Capítulo 9:


Comprender los Operadores de Consulta y las Expresiones en Access.

Potrebbero piacerti anche