33
Facultad de Estadística e Informática Bases de Datos LENGUAJE DE CONSULTAS (SQL) CARACTERÍSTICAS DE SQL DEFINICIÓN DE DATOS CONSULTA

BASES DE DATOS...Base de datos EMPLEADOS 3. Determinar el nombre, domicilio y ciudad de residencia de todos los empleados que trabajan en el anco ANAMEX y ganan más de 10.000. SELECT

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

  • Facultad de Estadística e Informática

    Bases de Datos• L E N G U A J E D E C O N S U L T A S ( S Q L )

    • C A R A C T E R Í S T I C A S D E S Q L

    • D E F I N I C I Ó N D E D A T O S

    • C O N S U L T A

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    • Manipulación

    • Control de integridad

  • Facultad de Estadística e Informática

    Base de datos ejemplo. Banco

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    ❖Funciones de agregación

    • Media: avg (solo sobre números)• Mínimo: min• Máximo: max• Total: sum (solo sobre números)• Recuento: count

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    ❖Funciones de agregaciónDeterminar el saldo medio de las cuentas de la sucursal de Navacerrada

    Determinar el saldo medio de las cuentas de cada sucursal

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    ❖Funciones de agregaciónDeterminar el saldo medio de todas las cuentas

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    ❖Funciones de agregaciónPara contar el número de tuplas de una relación se utiliza la función count.

    Obtener el número de tuplas de la relación cliente:

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    ❖Funciones de agregaciónSi se desea eliminar los valores duplicados hay que utilizar la palabra clave distinct en la expresión de agregación.

    ▪ Determinar el número de impositores de cada sucursal

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    ❖Funciones de agregación

    Sucursales en las que el saldo medio de las cuentas sea superior a 1.200

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    ❖Funciones de agregación

    Determinar el menor sueldo.

    SELECT MIN(sueldo) FROM `trabaja`

    http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_min

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    ❖Funciones de agregación

    Determinar el mayor activo.

    SELECT MAX(activos) FROM `sucursal`

    http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_max

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    ❖Funciones de agregaciónEjercicios de repaso. Teniendo la base de datos:

    EMPLEADOS

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)❖Funciones de agregación

    Ejercicios:

    1. Determinar el mayor sueldo existente.

    2. Determinar el nombre de la empresa y el número de empleados que tiene cada una, ordenados de forma ascendente por número de empleado.

    3. Determinar las empresas y el sueldo promedio de los trabajadores que pertenecen a cada una de ellas.

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    ❖Funciones de agregación

    Ejercicios:

    Determinar el mayor sueldo existente.

    SELECT MAX(sueldo) FROM `trabaja`

    http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_max

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    ❖Funciones de agregación

    Ejercicios:

    Determinar el nombre de la empresa y el número de empleados que tiene cada una, ordenados de forma ascendente por número de empleado.

    SELECT nombre_empresa, COUNT(nombre_empleado) FROM `trabaja` GROUP BY nombre_empresa ORDER BY COUNT(nombre_empleado) asc

    http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_counthttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_count

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    ❖Funciones de agregación

    Ejercicios:

    Determinar las empresas y el sueldo promedio de los trabajadores que pertenecen a cada una de ellas.

    SELECT nombre_empresa, AVG(sueldo) AS promedio_sueldo FROM `trabaja` GROUP BY nombre_empresa

    http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_avg

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)❖Funciones de agregación

    Ejercicios:

    Determinar las empresas y el sueldo promedio de los trabajadores que pertenecen a cada una de ellas.

    SELECT nombre_empresa, AVG(sueldo) AS promedio_sueldo FROM `trabaja` GROUP BY nombre_empresa

    http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_avg

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)❖Reunión de relaciones

    ❖Es otro mecanismo, además del producto cartesiano.❖Se usa como una subconsulta de la cláusula FROM.❖Son mecanismos para reunir las tuplas de las relaciones:❖Reuniones condicionales❖Reuniones naturales❖Reuniones externas

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    ❖Reunión natural❖natural join

    Reunión natural de las relaciones Prestamo y Prestatario

    prestamo NATURAL JOIN prestatario

    Selecciona las tuplas que coinciden en los atributos con el mismo nombre, en este caso numero_prestamo

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)❖Reunión naturalSELECT * FROM prestamo NATURAL JOINprestatario

    http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.html

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)Reunión Natural❖Otro ejemplo:

    Hallar todos los clientes que tienen una cuenta abierta y un préstamo concedido en el banco.

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)Reunión Natural❖Otro ejemplo:

    Hallar todos los clientes que tienen una cuenta abierta y un préstamo concedido en el banco.

    SELECT nombre_clienteFROM impositor NATURAL JOIN prestatario

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)Reunión NaturalHallar los nombres de todos los clientes que tienen concedido un préstamo en el banco y averiguar su número e importe:

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)Reunión NaturalHallar los nombres de todos los clientes que tienen concedido un préstamo en el banco y averiguar su número e importe:

    Select nombre_cliente, prestatario.numero_préstamo, importefrom prestatario natural join prestamo

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)Reunión Natural❖Otro ejemplo:

    Hallar el nombre de todas las sucursales con clientes que tienen una cuenta abierta en el banco y

    viven en Peguerinos

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)Reunión Natural❖Otro ejemplo:

    Hallar el nombre de todas las sucursales con clientes que tienen una cuenta abierta en el banco y

    viven en PeguerinosSelect nombre_sucursalfrom cliente natural join (cuenta natural join impositor)Where ciudad_cliente=“Peguerinos”

  • Facultad de Estadística e Informática

    Reunión natural

    Base de datos EMPLEADOS

    Lenguaje de Consultas (SQL)

  • Facultad de Estadística e Informática

    Base de datos EMPLEADOS1. Determinar el nombre y ciudad de residencia de todos los empleados que

    trabajan en el Banco BANAMEX

    2. Determinar el nombre, domicilio y ciudad de residencia de todos los empleados que ganan más de 10.000.

    3. Determinar el nombre, domicilio y ciudad de residencia de todos los empleados que trabajan en el Banco BANAMEX y ganan más de 10.000.

    4. Determinar el nombre de los jefes con empleados en la ciudad de Xalapa.

    Lenguaje de Consultas (SQL)

  • Facultad de Estadística e Informática

    Base de datos EMPLEADOS1. Determinar el nombre y ciudad de residencia de todos los empleados que

    trabajan en el Banco BANAMEX

    Lenguaje de Consultas (SQL)

    Π empleado.nombre_empleado, ciudad (Ϭnombre_empresa="Banamex" ( empleado trabaja))Select empleado.nombre_empleado, ciudadfrom empleado natural join trabaja where nombre_empresa="Banamex"

  • Facultad de Estadística e Informática

    Base de datos EMPLEADOS2. Determinar el nombre, domicilio y ciudad de residencia de todos los empleados que ganan más de 10.000.

    Lenguaje de Consultas (SQL)

    Π empleado.nombre_empleado, calle, ciudad (Ϭsueldo>10000 ( empleado trabaja))Select empleado.nombre_empleado, calle, ciudadfrom empleado natural join trabaja where sueldo>10000

  • Facultad de Estadística e Informática

    Base de datos EMPLEADOS3. Determinar el nombre, domicilio y ciudad de residencia de todos los empleados que trabajan en el Banco BANAMEX y ganan más de 10.000.

    SELECT empleado.nombre_empleado,calle,ciudad FROM empleado NATURAL JOI

    N trabaja WHERE nombre_empresa="Banamex" AND sueldo>10000

    Lenguaje de Consultas (SQL)

    Π empleado.nombre_empleado, calle, ciudad (Ϭnombre_empresa="Banamex“∧ sueldo>10000 ( empleado trabaja))

    http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/logical-operators.html#operator_and

  • Facultad de Estadística e Informática

    Base de datos EMPLEADOS4. Determinar el nombre de los jefes con empleados en la ciudad de Xalapa.

    Lenguaje de Consultas (SQL)

    Π nombre_jefe (Ϭ ciudad="Xalapa" ( empleado jefe))

    SELECT DISTINCT nombre_jefe FROM empleado NATURAL JOIN jefe WHERE ciudad="Xalapa"

    http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.html

  • Facultad de Estadística e Informática

    Lenguaje de Consultas (SQL)

    Gracias por su atención