Lenguaje de consulta estructurado

Slides:



Advertisements
Presentaciones similares
Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.
Advertisements

SQL Sigla del nombre “Structured Query Language”.
Ejercicios Solemne 2 Parte 1
LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”
Fernando Velasco
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
SQL Lenguaje de consulta estructurado
Subconsultas Avanzadas
Componentes sintácticos
COMANDOS SQL.
SQL: DDL Francisco Moreno & Carlos Mario Zapata. SQL:DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la Base de Datos Tipos de Objetos:
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
Consultas SQL (Base de Datos)
INSTRUCCIONES Elaboración de la Presentación:
Introducción a Bases de Datos en Microsoft Access Programación de Computadoras 2 Sección: P.
LENGUAJE SQL.
Structured Query Language (Lenguaje Estructurado de Consultas)
SQL: DDL Francisco Moreno. SQL: DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la BD Tipos de objetos: - Tablas: corresponden a las.
SQL Sigla del nombre “Structured Query Language”.
4.1 ACTUALIZACIÓN DE UN ÚNICO REGISTRO. UPDATE p SET color = ‘amarillo’ peso = peso + 5 ciudad = NULL WHERE pn = ‘P2’; Cambiar el color de la parte ‘P2’
Base de Datos I. SQL es el lenguaje estándar para trabaja con base de datos relacionales. MySQL, el sistema de gestión de bases de datos SQL Open Source.
Prof. De Bases de Datos: Lcdo. Luis Peña. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query.
Consultas SQL. SQL SQL es un lenguaje de consulta estructurado (Structured Query Languague). Se utiliza para: Eliminar Modificar Consultar La base de.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
(Lenguaje de consulta estructurado)
Usuarios y privilegios
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
AA Gerardo Morgade Donato AA Isnel Leyva Herbella.
Unidad 6. Tema 4. Lenguaje de consultas SQL
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Sentencias DDL y DML PostgreSQL. Base de Datos I – Fundamentos Básicos PostgreSQL PostgreSQL es un servidor de base de datos relacional libre bajo la.
SQL: DDL.
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
DLM Transact SQL Sesión II Recuperación de información.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
6 Triggers ORACLE - III Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
COMANDOS SQL. ¿QUÉ ES SQL? El lenguaje de consulta estructurado es un lenguaje declarativo que permite la creación, acceso e interacción de bases de datos.
Curso PHP y MySQL Germán Galeano y Juan Bachiller Del 6 de Febrero al 12 de Marzo de 2012.
COMANDOS BÁSICOS MYSQL BASES DE DATOS 2 UNIVERSIDAD DE LA AMAZONIA.
Conferencia 7. Lenguaje SQL Estándar. Ejemplos.
SQL: Structured Query Language
Lenguaje de manipulación de datos
MYSQL SQL: Lenguaje de consulta estructurado. Es un lenguaje de programación para trabajar con BD relacionadas, entre las cuales tenemos MYSQL, ORACLE,
Base de Datos Conjunto de información, la cual ha sido organizada y presentada para servir un propósito específico.
Tipos de datos en MYSQL YEAR: Año. “YYYY” o “YY”
SQL Prof. Martín Contreras.
SQL: Structured Query Language
Stored Procedures Firebird.
Técnicas y Herramientas de Computación
Structure Query Languaje
SQL 2: Structured Query Language
SQL: structured Query Language
UN DISPARADOR O TRIGGER es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Es una rutina autónoma.
Lenguaje Estructurado de Consultas
SQL Lenguaje de Consulta Estructurado
Lenguaje de Manipulación de Datos
Orígenes Funciones Condicionales
Consultas SQL.
UN EJEMPLO DE LECTURA CONSISTENTE EN INNODB
Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Structure Query Languaje
Ing. Francisco Rodríguez
SQL.
Fundamentos de las Base de Datos. Contenido Que es una Base de Datos. La diferencia entre datos e informacion. Clasificacion de las base de datos. Importancia.
Transcripción de la presentación:

Lenguaje de consulta estructurado SUBQUERIES OPERADORES DE COMPARACIÓN

Introducción Un subquery es una expresión select-from-where que se encuentra anidada en otro query. En las cláusulas WHERE y HAVING el uso de subqueries es permitido cuando se espera un valor. En este caso el valor debe obtenerse evaluando el subquery primero.

Comparaciones: > Supongamos que queremos conocer todos los peces que pesan más que el pez llamado fran, pero no podemos saber fácilmente cuanto pesa fran. SELECT fnombre, fpeso FROM fish WHERE fpeso > (SELECT fpeso FROM fish WHERE fnombre = 'fran');

Comparaciones: = Encontrar los nombres de los peces cuyo color sea igual al de flipper. select f.fnombre, fcolor from fish f where f.fcolor = (select f.fcolor where f.fnombre = 'flipper');

from species s, fish f, tank t where s.snum=f.snum and f.tnum=t.tnum OBTENER NOMBRE DE ESPECIE y NUM DE TANQUE DE LOS QUE NADAN EN UN TANQUE ROJO (ES UN EJEMPLO DEMOSTRATIVO, se puede sin subqueries) select s.snombre, t.tnum from species s, fish f, tank t where s.snum=f.snum and f.tnum=t.tnum and t.tnum = (select t.tnum from tank t where tcolor= 'rojo' );

Comparaciones continuación Además de los operadores relacionales, en la cláusula WHERE podemos utilizar la comparación >some(all), <some(all), <=some(all), >=some(all) y <> . Por ejemplo: obtener los nombres de los peces del tanque 38 que pesen más que alguno de los peces del tanque 55: En el tanque 38 están jill de 28 y keiko de 580 En el tanque 55 están albert de 45, fran de 61 y kilroy de 49. Solo keiko cumple con esta condición

SELECT fnombre FROM fish WHERE tnum = 38 and fpeso > SOME (SELECT fpeso FROM fish WHERE tnum = 55); fnombre --------- keiko (1 fila)

UPDATE fish SET fpeso=46 WHERE fnombre = 'jill'; Hacer un UPDATE y cambiarle el peso a jill de 28 a 46. Ahora si, jill pesa más que alguno de los peses del 55 (albert pesa 45) UPDATE fish SET fpeso=46 WHERE fnombre = 'jill'; Volver a hacer el query anterior SELECT fnombre FROM fish WHERE tnum = 38 AND fpeso > SOME (SELECT fpeso FROM fish WHERE tnum = 55); fnombre --------- keiko jill (2 filas) -Volver a dejar a jill en 28 en fpeso, (UPDATE).

ALTER y UPDATE ALTER TABLE instructor ADD COLUMN qsueldo NUMERIC(7,1); \d instructor UPDATE instructor SET qsueldo=25500.269; UPDATE 5

tinestri=> SELECT * FROM instructor; inum | inombre | cid | qsueldo ------+---------+-----+--------- 2 | Karen | usa | 25500.3 3 | Giny | fra | 25500.3 4 | Bill | usa | 25500.3 5 | Roy | mex | 25500.3 1 | Carlos | mex | 25500.3 (5 filas)

Tipo de dato: numeric(precision, scale) El tipo de dato numeric tiene dos parámetros: precision: es el número total de dígitos que puede tener la cantidad scale: dígitos a la derecha del punto decimal En el ejemplo redondea el salario a un dígito

ALTER TABLE: para cambiar el tipo de dato o para eliminar una columna ALTER TABLE instructor ALTER COLUMN qsueldo type numeric(7,2); ALTER TABLE Si queremos borrar la columna completa: ALTER TABLE instructor DROP COLUMN qsueldo;

Podemos actualizar cada registro para que guarde el salario correspondiente UPDATE instructor SET qsueldo=10000.12 WHERE inum=1; UPDATE instructor SET qsueldo=12000.00 WHERE inum=2; UPDATE instructor SET qsueldo=2000.00 WHERE inum=3; UPDATE instructor SET qsueldo=34000.05 WHERE inum=4; UPDATE instructor SET qsueldo=4500.30 WHERE inum=5; tinestri=> select * from instructor; Probemos esta instrucción UPDATE instructor SET qsueldo=1234567.89 WHERE inum=5; ERROR: numeric field overflow DETAIL: A field with precision 7, scale 2 must round to an absolute value less than 10^5. (100,000.00) Ahora probemos con: UPDATE instructor SET qsueldo=99999.99 WHERE inum=5; UPDATE 1

Eliminar una columna de la cual dependen otra(s) columna(s) En el ejercicio anterior pudimos borrar una columna con ALTER TABLE, esto fue posible debido a que no se trataba de una llave primaria de la cual dependa una llave foránea, Tratemos la siguiente instrucción ALTER TABLE species DROP column snum; ERROR: cannot drop table species column snum because other objects depend on it

Eliminar un renglón en una tabla No podemos eliminar un renglón cuya llave primaria está referenciada por una llave foránea en otra tabla DELETE FROM tank WHERE tnum=55; ERROR: update or delete on table "tank" violates foreign key constraint "fish_tnum_fkey" on table "fish" DETAIL: Key (tnum)=(55) is still referenced from table "fish". Pero por ejemplo si insertamos: INSERT INTO tank VALUES(200, 'alberca', 'azul', 550); Tratemos de borrar este renglón DELETE FROM tank WHERE tnum=200; ¿Porque este renglón de la misma table tank si lo borró?

En las funciones de agregación no pueden formarse funciones compuestas (anidadas). Por ejemplo, no podemos usar max(avg(…)). En estos casos una de las funciones de agregación se pone en el query “superior” y la otra en el query “anidado” y ambos se ligan con >some, >all, >, etc.

Actividad 1.- Obtener el peso máximo del pez de entre los peces que nadan en los tanques llamados río, pero que a su vez, el peso sea menor que el peso promedio de los peces del tanque charco. Antes de hacer el query, viendo las tablas: ¿Cuál es el promedio de los peces que nadan en charco? (51.67). ¿Cuál es el resultado del query?. 2. El mismo que este ejercicio pero obteniendo el nombre y el peso.

SELECT MAX(fpeso) FROM fish f, tank t WHERE f. tnum = t SELECT MAX(fpeso) FROM fish f, tank t WHERE f.tnum = t.tnum AND tnombre = 'rio' AND fpeso < (SELECT AVG(fpeso) FROM fish f, tank t WHERE tnombre ='charco' AND f.tnum = t.tnum); max ----- 51 (1 fila) SELECT fnombre, fpeso FROM fish f WHERE fpeso = (SELECT MAX (fpeso) FROM fish f, tank t WHERE f.tnum = t.tnum AND tnombre = 'rio' AND fpeso < (SELECT AVG(fpeso) FROM fish f, tank t WHERE tnombre ='charco' AND f.tnum = t.tnum)); fnombre | fpeso ---------+------- bonnie | 51

Ejercicios 1.Cuales son los peces que pesan lo mismo que cory? 2.Obtener el salario de los entrenadores mexicanos que ganan más que el promedio de los entrenadores de estados unidos. 3.Obtener el sueldo del entrenador que gane más, pero que su sueldo sea menor que el de todos los entrenadores que entrenan a los peces del tanque playa 4.Obtener el sueldo del entrenador que gane más, pero que su sueldo sea menor que el de alguno de los entrenadores que entrenan a los peces del tanque playa 5. Cual es el nombre y el sueldo del entrenador que más gana 6. El número 4 pero obteniendo el nombre del entrenador y su sueldo….