consultasbasededatos

26

Upload: xdmichaelxd

Post on 23-Sep-2015

213 views

Category:

Documents


0 download

DESCRIPTION

SQL CONCEPTO, DEFINICIONES.COMPONENTES, EJEMPLO

TRANSCRIPT

  • [email protected]

  • Qu es SQL?Lenguaje de consulta estructurado (SQL: Structured Query Languague) .Es un lenguaje de base de datos normalizado.Utilizado para consultar, modificar o eliminar datos en una Base de Datos.

  • ComponentesComandosClasulasOperadoresFunciones

  • ComandosExisten 2 tipos: DLL (definicin de datos): Permiten crear y definir nuevas bases de datos, campos e ndices.CREATEDROPALTER DML (manipulacin de datos): Permiten generar consultas para ordenar, filtrar y extraer datos.SELECTINSERTUPDATEDELETE

  • ClusulasFROMWHEREGROUP BYHAVINGORDER BY

  • OperadoresLgicos: ANDORNOTComparacin: , , =

  • FuncionesCOUNTSUMMAXMINAVG

  • Consulta bsicaSELECT AFROM B

    Donde A son los datos que requiero (columnas) y B es de donde obtengo esos datos.

  • EjemploSELECT nombre, apellidos, edadFROM estudiantes

  • WHEREA veces NO se necesitan obtener datos tan generales, y es cuando se aplican filtros, con la clausula WHERE.

    SELECT AFROM B WHERE C

    Donde C, es una o ms condiciones.

  • EjemploSELECT nombres, apellidos, edadFROM estudiantesWHERE edad > 21

  • AliasLos alias son un nombre de asignacin que se le dan a los recursos, en este caso las tablas.Luego se pueden llamar a sus atributos desde ese alias, continuados con un punto (.) .

  • EjemploSELECT c.nombres, f.nombresFROM campus c, funcionarios f WHERE c.id_campus = f.id_campus

  • Alias 2Es posible dar un alias (nombre) al titulo de las columnas de una tabla, que no es el mismo que posee en la Base de Datos.Ejemplo sin Alias:Select l.titulo, l.agnoFrom libros l

    TITULOAGNOMatemticas2007Lenguaje y Comunicaciones1998Cs. Biolgicas2003

  • Ejemplo con Alias

    Select l.titulo, l.agno As AOFrom libros l

    TITULOAOMatemticas2007Lenguaje y Comunicaciones1998Cs. Biolgicas2003

  • GROUP BYLa clusula GROUP BY se usa para generar valores de agregado para cada fila del conjunto de resultados. Cuando se usan sin una clusula GROUP BY, las funciones de agregado slo devuelven un valor de agregado para una instruccin SELECT.Ejemplo:

    SELECT nombre_columna1, nombre_columna2FROM nombre_tablaGROUP BY nombre_columna1

  • GROUP BY: Ejemplotienda_infoCONSULTASELECT nombre_tienda, SUM(ventas) FROM tienda_info GROUP BY nombre_tiendaRESULTADOValdivia1800Temuco250Osorno700

    nombre_tiendaventasfechaValdivia150005-jan-2010Temuco25007-jan-2010Valdivia30008-jan-2010Osorno70008-jan-2010

  • HAVINGEspecifica una condicin de bsqueda para un grupo o agregado. HAVING slo se puede utilizar con la instruccin SELECT. Normalmente, HAVING se utiliza en una clusula GROUP BY. Cuando no se utiliza GROUP BY, HAVING se comporta como una clusula WHERE. Ejemplo:

    SELECT nombre_columna1, SUM(nombre_columna2)FROM nombre_tabla[ GROUP BY nombre_columna1 ]HAVING (condicin de funcin aritmtica)

  • HAVING: Ejemplotienda_infoCONSULTASELECT nombre_tienda, SUM(ventas) FROM tienda_infoGROUP BY nombre_tienda HAVING SUM(ventas) > 1500RESULTADOValdivia1800

    nombre_tiendaventasfechaValdivia150005-jan-2010Temuco25007-jan-2010Valdivia30008-jan-2010Osorno70008-jan-2010

  • ORDER BYEspecifica el orden utilizado en las columnas devueltas en una instruccin SELECT. La clusula ORDER BY no es vlida en vistas, funciones insertadas, tablas derivadas ni subconsultas.Ejemplo:

    SELECT nombre_columna1, nombre_columna2FROM nombre_tabla[ WHERE condicion]ORDER BY nombre_columna1 [ASC, DESC]

  • ORDER BY: Ejemplotienda_infoCONSULTASELECT nombre_tienda, ventas, fecha FROM tienda_info ORDER BY ventas DESCRESULTADOValdivia150005-jan-2010Osorno70008-jan-2010Valdivia30008-jan-2010Temuco25007-jan-2010

    nombre_tiendaventasfechaValdivia150005-jan-2010Temuco25007-jan-2010Valdivia30008-jan-2010Osorno70008-jan-2010

  • OPERADORES LOGICOS(AND-OR)

    C1C2C1 AND C2VVVVFFFVFFFF

    C1C2C1 OR C2VVVVFVFVVFFF

  • OPERADORES LOGICOS: Ejemplo ANDtienda_infoCONSULTASELECT *FROM tienda_infoWHERE ventas > 500AND nombre_tienda = ValdiviaRESULTADOValdivia150005-jan-2010

    nombre_tiendaventasfechaValdivia150005-jan-2010Temuco25007-jan-2010Valdivia30008-jan-2010Osorno70008-jan-2010

  • OPERADORES LOGICOS: Ejemplo ORtienda_infoCONSULTASELECT *FROM tienda_infoWHERE ventas > 500OR nombre_tienda = ValdiviaRESULTADOValdivia150005-jan-2010Valdivia30008-jan-2010Osorno70008-jan-2010

    nombre_tiendaventasfechaValdivia150005-jan-2010Temuco25007-jan-2010Valdivia30008-jan-2010Osorno70008-jan-2010

  • Modelo de DatosPara este laboratorio usaremos la Base de Datos Biblioteca desarrollado en la clase anterior.

    Para ello use la imagen que se encuentra en siveduc, Biblioteca.png y cargue el archivo Biblioteca.sql en PLSQL como se enseo en la clase anterior.