Taller SQL - SUP. Introducción al Lenguaje SQL. Claúsula Where. Sentencia Select Sentencia Insert Sentencia Update Sentencia Delete



Documentos relacionados
UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

SQL (Structured Query Language)

1. DML. Las subconsultas

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

CONSULTAS BASICAS EN SQL SERVER

MANUAL BÁSICO DEL LENGUAJE SQL

Guía práctica de SQL

A.1. Definiciones de datos en SQL

Bases de Datos 2. Teórico

Tutorial de SQL - El comando SELECT

SQL Server FEMEPA SQL Server 2000

select nombre from profesores where categoria='aso6';

Consultas con combinaciones

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) <SELECT1> UNION <SELECT2> UNION <SELECTN> Copyright 2006, 2007 Instituto Gala

Sub consultas avanzadas

8 SQL SERVER 2008 RA-MA

SQL. Lenguaje de Consulta Estructurado. Curso básico de SQL (Leire Urcola Carrera)

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo

SQL (DML) Carlos A. Olarte Gestión y Modelación de SQL Datos (DML)

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers

Base de Datos Oracle 10g: Introducción a SQL Código: D Duración: 5 días (40 horas)

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

Unidad. Lenguaje SQL. (Structured Query Language)

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

6- Combinación de tablas

Tema 4. Manipulación de datos con SQL

Primeramente estudiaremos la forma básica de la sentencia SELECT, que esta formado por:

5- Uso de sentencias avanzadas

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

1.264 Tema 7. Introducción a SQL

CURSO DE SQL SERVER 2005

Tecnología de la Información y la Comunicación. Base de datos. Consultas

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /

Bases de Datos Relacionales

TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA

El lenguaje SQL es un lenguaje estándar para el acceso y

Bases de Datos: Structured Query Language (SQL)

Sql Basico. Seminar Introduction

FUNCIONES EN SQL SERVER

Tema 4. SQL. Juan Ignacio Rodríguez de León

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta

Restricciones de Integridad

Conceptos Avanzados de Bases de datos

ÍNDICE. Introducción... Capítulo 1. Novedades de Access

Bases de datos: Sistemas de bases de datos:

Base de datos relacional

SENTENCIAS Y CONSULTAS EN SQL SERVER

Consulta y manipulación de datos. El lenguaje SQL

CONSULTAS DE RESUMEN SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos

3 Consultas y subconsultas

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

T12 Vistas y tablas temporales

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

Práctica 3. Consultas SQL

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas

ADMINISTRACIÓN DE BASE DE DATOS

Procedimientos para agrupar y resumir datos

DML en SQL. Consultas sencillas usando el DML de SQL

Base de datos I Facultad de Ingeniería. Escuela de computación.

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL

Tipo de Dato TRANSACT SQL

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

Curso SQL Nivel Avanzado 1. Miguel Jurado García

Entrarás a formar parte de nuestra bolsa de empleo a la que acuden las empresas en busca de nuestros alumnos.

SQL (Structured Query Language)- DML

SQL. Álgebra Relacional Selección y proyección Operaciones sobre conjuntos: unión, intersección, diferencia, producto Reunión natural

Universidad Capitán General Gerardo Barrios. Facultad de Ciencia y Tecnología

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

CONSULTAS MULTITABLAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

8283: Administración y programación en Microsoft SQL Server 2012

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Nociones de performance

Bases de Datos I Práctica 1 Ejercicios de SQL

Base de datos Lenguaje SQL

Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER. Duración : 35 Hrs.

Índice. iii. Objetivos... 24

BASE DE DATOS RELACIONALES

Tema: USO DE COMBINACIONES EXTERNAS.

BASES DE DATOS I CONSULTA DE DATOS

Documento Informativo

Oracle 12c DISEÑO Y PROGRAMACIÓN

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

SQL Los fundamentos del lenguaje

MÓDULO 1: ORGANIZACIÓN Y ESTRUCTURA DE LA INFORMACIÓN. Tema 3: Interrogación y explotación de datos. Leire Aldaz, Begoña Eguía y Leire Urcola

Sistemas de Datos Curso: Ernesto Chinkes. SQL Básico Algebra Relacional

3ra. Parte. Bases de Datos Relacionales

DML SQL II. Comparaciones con relaciones

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

ÍNDICE INTRODUCCIÓN...13

1

Acceso a bases de datos MySQL con PHP

Transcripción:

Taller SQL - SUP Introducción al Lenguaje SQL. Sentencia Select Sentencia Insert Sentencia Update Sentencia Delete Claúsula Where Condiciones de Búsqueda Operadores de Comparación Rangos Listas Patrones de Caracteres y Comodines Valores desconocidos

Taller SQL - SUP Otras Claúsulas Group by Having Order by Sub Querys Union Principales Funciones Matemáticas De Fechas De Cadenas

Taller SQL - SUP Elaboración de Consultas con tablas del SUP Tablas Principales (tb_admcae, tb_biecgf, otros.) Tablas Auxiliares (tb_prmadmtse, otros) Ejecución de Stored Procedures elaborados por OFIN Examen de Evaluación

Introducción al Lenguaje SQL SQL es un lenguaje de alto nivel para sistemas de base de datos relacionales, el curso pretende dar a conocer las operaciones básicas que se pueden realizar con SQL. Las aplicaciones en red son cada día más numerosas y versátiles. En muchos casos, el esquema básico de operación es una serie de Scripts que rigen el comportamiento de una base de datos. Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia de estándares que nos permiten el realizar las operaciones básicas de una forma universal.

Introducción al Lenguaje SQL Es de eso de lo que trata el Structured Query Language que no es mas que un lenguaje estándar de comunicación con bases de datos. Hablamos por tanto de un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje en combinación con cualquier tipo de base de datos

Introducción al Lenguaje SQL Ejemplos : PLSQL de Oracle, Transact SQL de SQL Server, Informix 4GL de Informix, Microsoft JET SQL de Access, SYBASE Las sentencias SQL pueden ser incrustadas en programas de lenguajes como Cobol, Java, C, Visual Basic, etc.

Introducción al Lenguaje SQL Sentencias de Manipulación de Datos SELECT INSERT UPDATE DELETE

Sentencia SELECT Es la sentencia base del SQL y sirve para consultar las tablas de una base de datos. Esta sentencia incluye ocho cláusulas de las cuales SELECT y FROM son obligatorias. Con esta sentencia se resuelven los operadores relacionales.

Sentencia SELECT Estructura básica: SELECT, FROM. SELECT corresponde a la operación Proyección (Π). Lista los atributos deseados en el resultado de la consulta. FROM corresponde a la operación Producto Cartesiano (X). Lista las relaciones que se deben analizar.

Cláusula FROM Específica la(s) fuente(s) de donde van a ser tomadas las columnas mostradas y/o operadas en la sentencia Select. [SELECT ] FROM expresión tabla [as] t_alias [,...]

Ejemplos de la Sentencia SELECT Mostrar las compras de cigarrillos de color negro SELECT FROM WHERE marca Marca', filtro Filtro, color, clase, mentol, Dcompra Fecha, Qcomprada Cantidad Compras color = N

Sentencia INSERT INSERT es otra sentencia DML base, que usa para incorporar nuevas filas a una tabla de base de datos. INSERT [INTO] {table-name view-name} [(column-list)] {VALUES (values-list) select-statement }

Sentencia INSERT INSERT INTO FABRICANTES (Nfabricante, País) VALUES ( Reynolds Tobacco CO., EEUU ) INSERT INTO MARCAS VALUES ( Camel, Reynolds Tobacco CO., 10, 20) INSERT INTO CIGARRILLOS VALUES ( Camel, N, R, Normal, N, 1.1, 15, 2)

Sentencia UPDATE Modifica los datos existentes en filas de una tabla de Base de Datos UPDATE {table-name view-name} SET{column-list variable-list variable_and_column-list},.. [ WHERE { condition }]

Sentencia UPDATE Cambiar aquellos cigarrillos de clase Normal, con filtro, fabricados por Tabacalera Nacional, de modo que ahora no tengan filtro UPDATE CIGARRILLOS SET filtro = N WHERE marca in (SELECT marca FROM MARCAS WHERE Nfabricante = Tabacalera Nacional And filtro = S and clase = Normal )

Sentencia DELETE Elimina filas de una tabla de Base de Datos. DELETE FROM {table-name view-name} [WHERE {condition} ]

Sentencia DELETE Eliminar todos los fabricantes que no manufacturen cigarrillos de clase Ultra Light DELETE FROM FABRICANTES WHERE Nfabricante NOT IN (SELECT DISTINCT Nfabricante FROM MARCAS WHERE marca IN (SELECT marca FROM CIGARRILLOS WHERE clase = Ultra Light ))

Cláusula WHERE Es la cláusula en donde se especifican las condiciones de búsqueda para las filas que conforman el conjunto resultado. [SELECT...] INTO tabla_temp [FROM...] WHERE condiciones_de_búsqueda

Cláusula WHERE Las condiciones_de_búsqueda se conectan de forma opcional con los operadores lógicos AND, OR o NOT. Pueden corresponder a los siguientes tipos Condiciones de comparación. Condiciones con Subquery.

Condiciones de Búsqueda Las condiciones de búsqueda pueden incluir: Operadores de Comparación (=, <>, < y >). Rangos (BETWEEN y NOT BETWEEN). Listas (IN, NOT IN). Patrones de caracteres (LIKE y NOT LIKE). Valores desconocidos (IS NULL y IS NOT NULL). Combinaciones con conjunciones (AND, OR).

Condiciones de Búsqueda Operadores de comparación: WHERE SueldoBásico > 1000 WHERE SUBSTR(CodigoPostal, 1, 3)= SAN Rangos (BETWEEN / NOT BETWEEN): WHERE SueldoBásico BETWEEN 1000 AND 5000 Listas (IN / NOT IN): WHERE Departamento NOT IN ('ADM', 'SIS') Coincidencia de patrones o cadenas de caracteres (LIKE / NOT LIKE)) WHERE NombreCompleto LIKE LET%

Operadores y Comodines (Wildcards) en la cláusula WHERE Operador Significado = > < >= <= <>!>!< Igual a Mayor que Menor que Mayor o igual Menor o igual No igual a No mayor No menor Wildcard * %?, #, _ [-] [!] Significado Cualquier cadena de cero o mas caracteres. Cualquier carácter/ número único. Cualquier carácter único dentro de un rango. Cualquier carácter único que no está dentro de un rango.

Operadores y Wildcards en el WHERE.WHERE Nombre LIKE Ma% busca todos los nombres que comiencen con Ma (Ej.: María, Mariana, Manuel, Martín) LIKE %ía busca todos los nombres que terminen con ía. (Ej.: Sofía, María, Estefanía). LIKE %ar% busca todos los nombres que tengan las letras ar. (Ej.:Carlos, Arturo, Eleazar).

Operadores y Wildcards en la cláusula WHERE LIKE _va LIKE [CM]arlo[ns] LIKE [B-D]elia busca todos los nombres de tres letras que terminan en va. (Ej.: Eva, Iva, Ava). busca todos los nombres: Carlon, Marlon, Carlos y Marlos. busca todos los nombres que terminan en elia y que comiencen con las letras de la B a la D. (Ej.: Delia, Celia).

Operadores y Wildcards en la cláusula WHERE LIKE M[!a]% LIKE _ busca todos los nombres que comiencen con M y cuya segunda letra no es a.(mónica). busca todas las cadenas de exactamente 3 caracteres. LIKE _ % busca las cadenas de al menos 3 caracteres.

Cláusula GROUP BY Especifica las columnas por las que las filas van a estar agrupadas o particionadas. Los resultados del query contienen un valor o conjunto de valores para cada conjunto de valores indicado por las funciones_de_agregación nombradas en la lista del Select

Cláusula GROUP BY SELECT {{columnas_de_agrupación, }, {función_de_agregación, }} [FROM ] [WHERE ] GROUP BY {columnas_de_agrupación, }

GROUP BY Obtener el total de compras de cigarrillos de color negro realizadas SELECT SUM(Qcomprada) Total_Unidades marca Marca', filtro Filtro, color Rubio/Negro, clase Clase, mentol Mentol FROM Compras WHERE color = N GROUP BY marca, filtro, color, clase, mentol

Cláusula HAVING Especifica una restricción que se aplica a las funciones de agregación de los grupos. Esto afecta a las filas que son devueltas como resultado y no al cálculo de las funciones de agregación. La cláusula WHERE si puede condicionar al número de filas que intervienen en el cálculo de las funciones de agregación.

Cláusula HAVING SELECT {{columnas_de_agrupación, }, {función_de_agregación, }} [FROM ] [WHERE ] GROUP BY {columnas_de_agrupación, } HAVING condiciones_de_búsqueda

GROUP BY y HAVING Mostrar los nombres estancos que hayan realizado menos de 500 operaciones de venta SELECT FROM WHERE a.rucestanco, b.nestanco VENTAS a, ESTANCOS b a.rucestanco = b.rucestanco GROUP BY a.rucestanco, b.nestanco HAVING COUNT(*) < 500

GROUP BY -HAVING -WHERE Procedimiento: Si en una misma consulta aparece una cláusula WHERE y una cláusula HAVING, se aplica primero el predicado de la cláusula WHERE. Las tuplas que satisfagan la condición, se colocan en grupos según la cláusula GROUP BY. La cláusula HAVING se aplica luego a cada grupo. Los grupos que no la satisfagan se eliminan. La cláusula SELECT utiliza los grupos restantes para generar las tuplas resultado de la consulta.

Cláusula ORDER BY Ordena el resultado de los querys por los valores de las columnas mencionadas. Solamente se puede ordenar por las columnas especificadas en el SELECT. ASC: Es el valor por defecto e indica que los resultados se van a presentar ascendentemente. DESC: Debe especificarse al lado de la columna cuyo orden se desea ver en forma descendente. Consideración: ordenar un gran número de tuplas puede ser costoso. Es conveniente ordenar sólo cuando sea estrictamente necesario.

Cláusula ORDER BY SELECT {columna 1, columna 2, } [FROM ] [WHERE ] [GROUP BY...] [HAVING...] ORDER BY columna 1 [ASC DESC],...

ORDER BY SELECT Nombre 'Departamento', AVG(SueldoBasico) 'Promedio Sueldos' FROM EMPLEADO E, DEPARTAMENTO D WHERE E.Departamento = D.Departamento GROUP BY Nombre ORDER BY AVG(SueldoBasico) DESC

Uso de Subqueries Un Subquery es una sentencia SELECT anidada dentro de otras sentencias SQL como SELECT, INSERT, UPDATE o DELETE, o dentro de otro Subquery. A una sentencia SELECT, que contiene uno o mas Subqueries, se la denomina Nested Query o SELECT anidado.

Conectores para incrustar Subconsultas en Where Operando izquierdo Conector Operando derecho elemento En / no en Conjunto de elementos conjunto = / no = Conjunto Existe / no existe Conjunto elemento > / < Conjunto de un elemento elemento = / no = Conjunto de un elemento elemento > = / < = Conjunto de un elemento elemento >, <, =, no =, > =, < = modificados con ANY o con ALL Conjunto de elementos

Uso de Subqueries Subqueries con el uso de la palabra IN: El resultado, es una lista de cero o mas valores. Una vez que el Subquery devuelve resultados, el Outer query los usa. (Con el uso de esta palabra se puede resolver el operador relacional de Intersección)

Uso de Subqueries Subqueries con el uso de las palabras NOT IN: El resultado, es una lista de cero o mas valores. Una vez que el Subquery devuelve resultados, el Outer query los usa por negación. (Con el uso de esta palabra se puede resolver el operador relacional de Diferencia)

Uso de Subqueries SELECT FROM WHERE NombreCompleto, SueldoBasico PERSONA, EMPLEADO IDPersona=IDEmpleado and IDEmpleado NOT IN (SELECT IDEmpleado FROM SANCIONES_EMPLEADO)

Uso de Subqueries Subqueries con Operadores de comparación. Son los subquerys que se introducen con algún operador de comparación como =, <>, <, <=, >, >=, etc. Estos subqueries retornan un solo valor.

Uso de Subqueries Operadores de comparación modificados por ANY o ALL. Estos subqueries retornan cero o muchos valores. > ALL, significa que todos los valores retornados por el subquery son menores al valor de comparación del outer. > ANY, significa que por lo menos un valor retornado por el subquery es menor al valor de comparación del outer.

Uso de Subqueries Subqueries Correlativos. El Subquery depende del outer query para devolver sus valores. Esto significa que el Subquery se ejecuta repetidamente, una vez por cada fila seleccionada por el Outer query.

Uso de Subqueries Subqueries Correlativos. SELECT FROM a.idempleado, a.sueldobasico EMPLEADO a WHERE a.sueldobasico >= (SELECT b.sueldobasico FROM EMPLEADO b WHERE a.idjefe = b.idempleado ) Muestra código y sueldo de los empleados cuyos sueldos son mayores o iguales a los sueldos de sus respectivos jefes

Operadores de UNION A diferencia del SELECT, que por omisión conserva los duplicados, las operaciones de unión normalmente los suprimen. A fin de evitar esto, es necesario colocar a continuación del operador UNION la palabra clave ALL

Guías para la construcción de UNION Todas las select-list mencionadas con la sentencia UNION, deben tener el mismo número de expresiones (columnas, expresiones aritméticas, funciones de agregación, etc.). Las columnas que se corresponden, deben tener el mismo tipo de dato, sino es así, debe existir una conversión de datos implícita o explícita con una función de conversión de por medio.

Guías para la construcción de UNION Las columnas que se corresponden en SELECTs individuales deben ocurrir en el mismo orden, porque UNION compara las columnas una a una. Si se quiere alterar los nombres de las columnas, se debe hacer en el primero de los SELECT y estos nombres podrán ser usados en la cláusula ORDER BY Si no se especifica la cláusula ALL, las tuplas duplicadas se eliminan automáticamente del resultado.

UNION Todos los clientes que poseen una cuenta, un préstamo o ambos (SELECT FROM UNION (SELECT FROM nombre-cliente TITULAR-CUENTA) nombre-cliente PRESTATARIO)

Funciones de Agregación SUM([ALL DISTINCT] expresión) Calcula el total de una expresión numérica para todas las filas o sólo las distintas. AVG([ALL DISTINCT] expresión) Calcula el promedio de una expresión numérica para las filas involucradas. MIN([ALL DISTINCT] expresión) Calcula el mínimo valor de una expresión numérica para las filas involucradas.

Funciones de Agregación MAX([ALL DISTINCT] expresión) Calcula el máximo valor de una expresión numérica para las filas involucradas. COUNT([ALL DISTINCT] expresión) Número de veces que se repite el valor de la expresión. COUNT(*) Número de filas seleccionadas