You are on page 1of 7

Administración de Base de Datos

ISEP JORGE BASADRE - MOLLENDO

Operadores

Paréntesis(

... ) Use paréntesis para forzar el orden de evaluación en una expresión.

Por ejemplo:
mysql> SELECT 1+2*3;
-> 7
mysql> SELECT (1+2)*3;
-> 9

Funciones y operadores
Operadores relacionales
por ejemplo:
SELECT titulo, autor, editorial FROM libros WHERE autor='Borges';
Utilizamos el operador relacional de igualdad.
Los operadores relacionales vinculan un campo con un valor para que MySQL compare cada
registro (el campo especificado) con el valor dado.
Los operadores relacionales son los siguientes:
<=
<
>=
<>
is Null, is not null
In

Menor que o igual
Menor que
Mayor igual que
diferente
Testea si un valor es o no NULL
Busca en una lista dada

Podemos seleccionar los registros cuyo autor sea diferente de 'Borges', para ello usamos la
condición:
SELECT titulo, autor, editorial FROM libros
WHERE autor<>'Borges';
Podemos seleccionar los registros cuyo autor sea de una lista dada, en nuestro ejm ('Borges',
'Saavedra', 'Reyes') para ello usamos la función IN:
SELECT titulo, autor, editorial FROM libros
WHERE autor in('Borges', 'Saavedra', 'Reyes') ;
OPERADORES ARITMETICOS
En MySQL, tenemos las operaciones Aritméticas usuales. Veamos los operadores
aritméticos uno a uno con un ejemplo.
Addition (+) :

mysql> select 5+5;
--> 10
Subtraction (-) :

mysql> select 25-18;
--> 7
Multiplication (*) :

mysql> select 4*4;
--> 16
Division (/) :

mysql> select 5/3;
--> 1.67

AVG.8000 | +-----------+ 1 row in set (0. SELECT ciudad. mysql> select max(edad) as "maxima edad" from personal. mysql> SELECT avg(edad) FROM personal. ciudad FROM personal WHERE ciudad = “Mollendo” or “Camana”.00 sec) +-------------+ | count(edad) | +-------------+ | 30 | +-------------+ 1 row in set (0. Es opcional. SELECT nombre. +-----------+----------+-------+ | avg(edad) | ciudad | clase | +-----------+----------+-------+ | 41.03 sec) +-----------+ | avg(edad) | +-----------+ | 36.5000 | Mollendo | VIP +-----------+----------+-------+ ALIAS: los alias nos sirven para cambiar el rotulo de columna en una operación de consulta con funciones de agregación. y aplicar operaciones sobre los elementos del conjunto conformado. mysql> SELECT count(edad) FROM personal. clase from personal -> where clase like("V%")group by ciudad -> having avg(edad)>40. +------------+ | max(edad) | +------------+ | 56 | +------------+ 1 row in set (0. y obtener un resultado. group by: sirve para agrupar datos. mysql> select avg(edad). +-------------+ .03 sec) operadores lógicos: and. SUM. edad FROM personal WHERE edad >= 30 and edad<=40. ciudad. SELECT nombre. apellido.MOLLENDO FUNCIONES MATEMATICAS MAX MIN AVG COUNT Devuelve el valor máximo de una expresión Devuelve el valor mínimo de una expresión Devuelve el valor medio Devuelve el número de valores distintos de NULL en las filas recuperadas por una sentencia SELECT mysql> SELECT max(edad) FROM personal.0000 | Arequipa | VIP | 43. apellido.Administración de Base de Datos ISEP JORGE BASADRE . cláusula HAVING: nos sirve para filtrar los datos de una consulta a través de funciones de agregación( MAX. count(*) FROM personal GROUP BY ciudad.04 sec) mysql> SELECT min(edad) FROM personal. según un determinado criterio. MIN). or Los operadores lógicos en MySQL nos permiten combinar más de una expresión. +-----------+ | min(edad) | +-----------+ | 20 | +-----------+ 1 row in set (0.

apellido varchar(20. ________________________________________________________________________________ ________________________________________________________________________________ 11. básico float(7. Mostrar el promedio de ventas de los vendedores de Ilo. Mostrar la suma total de sueldos a pagar por clase ________________________________________________________________________________ ________________________________________________________________________________ 7.MOLLENDO | maxima edad | +-------------+ | 56 | +-------------+ EJERCICIOS: dada la tabla personal Código varchar(5).2) resolver: 1. Mostrar los record mayores que existe solo para vendedores VIP ________________________________________________________________________________ ________________________________________________________________________________ 3.2). clase varchar(10).Administración de Base de Datos ISEP JORGE BASADRE . Mostrar la edad mínima que existe en cada ciudad ________________________________________________________________________________ ________________________________________________________________________________ 2. nombre varchar(20. nombre con su record y calcular un porcentaje de comisión que será el 5% de su record de venta ________________________________________________________________________________ ________________________________________________________________________________ 4. Mostrar el promedio de ventas que existe en las ciudades de Mollendo y Camana solo para vendedores VIP ________________________________________________________________________________ ________________________________________________________________________________ 6. ciudad varchar(20). Mostrar las edades mayores que existen por ciudad y dentro de cada ciudad por clase ________________________________________________________________________________ ________________________________________________________________________________ 5. edad int(2). Mostrar cuantos vendedores existen por ciudad de clase “VIP” ________________________________________________________________________________ ________________________________________________________________________________ . record float(7. Mostrar el promedio de venta que existe en las ciudades de Ilo y Pedregal tanto en los vendedores clase “Normal” y “VIP” ________________________________________________________________________________ ________________________________________________________________________________ 9. Pedregal. Mostrar la suma de Sueldos por ciudades del los vendedores clase “Normal” ________________________________________________________________________________ ________________________________________________________________________________ 10. Mostrar el promedio de edad que existe por ciudad pero solo en los vendedores VIP ________________________________________________________________________________ ________________________________________________________________________________ 8. Camana. Mostrar los código de vendedor.

00 | 1143.00 | 1015. record. max(record) from personal2 -> where clase="vip".00 | 997. +-------+-------------+ | clase | max(record) | +-------+-------------+ | VIP | 25460. +--------+----------+----------+----------+ | codigo | nombre | record | comisión | +--------+----------+----------+----------+ | 11001 | Jose | 25460.min(edad) as "edad mínima" from personal2 group by ciudad.00 | 615.00 | 295.25 | | 11014 | Braulio | 8900.MOLLENDO mysql> SELECT ciudad.00 | | 11003 | Carolina | 8750.00 | 472.00 | 926.00 sec) ============================ 3 ==================================== mysql> select codigo.50 | | 11010 | Yamil | 7840. record*0.Administración de Base de Datos ISEP JORGE BASADRE .00 | 1226.00 | 1273.00 | 392.50 | | 11013 | Esther | 20545.00 | 534.00 | 1027.00 | | 11015 | Carlos | 20310.00 | | 11007 | Paul | 9450.00 | 570.00 | | 11009 | Pedro | 10690.00 | 1170.00 | | 11012 | Maria | 11410.50 | | 11017 | Gabriela | 22860.00 | .00 | | 11006 | Jorge | 23400.50 | | 11004 | Heiner | 18530.00 | | 11011 | Rosario | 24520.50 | | 11008 | Yesica | 17780.00 | +-------+-------------+ 1 row in set (0.00 | | 11002 | Carmen | 12300.00 | 437.00 | 445.05 as comisión from personal2. nombre.50 | | 11005 | Hector | 5900.50 | | 11016 | Fiorela | 19950.00 sec) ========================================================= mysql> select clase. +----------+---------------------+ | ciudad | edad mínima | +----------+---------------------+ | Arequipa | 20 | | Camana | 32 | | Ilo | 27 | | Mollendo | 22 | | Pedregal | 26 | +----------+-------------+ 5 rows in set (0.00 | 889.

50 | | 11029 | Veronica | 6320.50 | | 11019 | Javier | 1798.00 | 561. +----------+-----------+--------+ | ciudad | max(edad) | clase | +----------+-----------+--------+ | Arequipa | 45 | Normal | | Arequipa | 56 | VIP | | Camana | 46 | Normal | | Camana | 36 | VIP | | Ilo | 45 | Normal | | Ilo | 40 | VIP | | Mollendo | 39 | Normal | | Mollendo | 54 | VIP | | Pedregal | 43 | Normal | | Pedregal | 33 | VIP | +----------+-----------+--------+ 10 rows in set (0.50 | | 11024 | Patricia | 24760. max(edad).50 | | 11027 | Tania | 23120. +----------+--------------+ | ciudad | avg(record) | +----------+--------------+ | Camana | 12672.50 | | 11021 | Manuel | 11230.00 sec) =================================== 5 ================================= mysql> select ciudad.00 | 343.00 | 486.00 | 657.000000 | | Mollendo | 15328.00 | 1238.00 | | 11025 | Rita | 9730. clase from personal2 -> group by ciudad.333333 | .00 | | 11028 | Ursula | 6870.00 | 343.50 | | 11022 | Nalda | 19580. avg(record) from personal2 -> where ciudad in ("mollendo".00 | 448.MOLLENDO | 11018 | Isabel | 6870.50 | | 11026 | Saul | 8970.00 | 1156.00 | | 11023 | Octavio | 13150.00 | 979.00 | | 11030 | Zabrina | 8560."camana") -> group by ciudad.00 | 472.00 sec) ==================================================================== mysql> select ciudad.00 | +--------+----------+----------+----------+ 30 rows in set (0.00 | 89.00 | 316.Administración de Base de Datos ISEP JORGE BASADRE .00 | 428. clase.90 | | 11020 | Karol | 9450.

+----------+--------------+--------+ | ciudad | avg(record) | clase | +----------+--------------+--------+ | Ilo | 9585.00 | Normal | | 16250.500000 | VIP | | Pedregal | 8563. clase from personal2 -> where clase="VIP" -> group by ciudad.0000 | VIP | | Camana | 36.5000 | VIP | | Pedregal | 29.000000 | VIP | +----------+--------------+--------+ 4 rows in set (0.Administración de Base de Datos ISEP JORGE BASADRE . clase from personal2 -> group by clase.00 sec) ====================================== 9 ================================= .333333 | Normal | | Pedregal | 21405.00 sec) ================================= 8 ================================ mysql> select ciudad. clase.5000 | VIP | +----------+-----------+-------+ 5 rows in set (0. avg(edad). +----------+-----------+-------+ | ciudad | avg(edad) | clase | +----------+-----------+-------+ | Arequipa | 41.00 | VIP | +-------------+--------+ 2 rows in set (0.5000 | VIP | | Mollendo | 43. avg(record).01 sec) =============================== 6 ================================ mysql> select sum(basico). +-------------+--------+ | sum(basico) | clase | +-------------+--------+ | 14450.000000 | Normal | | Ilo | 22652.00 sec) =========================== 7 ===================================== mysql> SELECT ciudad.0000 | VIP | | Ilo | 35.MOLLENDO +----------+--------------+ 2 rows in set (0. "Pedregal") -> group by ciudad. clase from personal2 -> where ciudad in("Ilo".

Administración de Base de Datos ISEP JORGE BASADRE .MOLLENDO .