Basededatos 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 14

PROFE VIDERMID

Diplomado en Programación
Bases de Datos Relacionales
SQL (MySQL – MariaDB)
Parte 2

@ingenieriadigitalsc
FACILITADOR: ING. ESP. VIDERMID SÁNCHEZ
+584147464801
DML
Data Manipulation Language
La palabra clave describe muestra la estructura completa de la tabla indicada

Sintaxis:
DESCRIBE table;

Ejemplo:
DESCRIBE elenco;
DML
Data Manipulation Language
La palabra clave LEFT JOIN selecciona registros que tienen valores coincidentes en
ambas tablas más la tabla izquierda

Sintaxis:
SELECT column_name(s)
FROM table1
LEFT JOIN table2
; table1.column_name = table2.column_name
ON

Ejemplo:
SELECT actor.*,elenco.* FROM actor left join elenco on elenco.id_actor=actor.id_actor
DML
Data Manipulation Language
La palabra clave RIGHT JOIN devuelve todos los registros de la tabla de la derecha
(tabla2) y los registros coincidentes de la tabla de la izquierda (tabla1). El resultado es 0
registros del lado izquierdo, si no hay ninguna coincidencia.

Sintaxis:
SELECT column_name(s)
FROM table1
;RIGHT JOIN table2
ON table1.column_name = table2.column_name;

Ejemplo:
SELECT pelicula.*,estudio.* FROM pelicula right join estudio on
pelicula.id_estudio=estudio.id_estudio
DML
Data Manipulation Language
La función MAX() devuelve el valor más grande de la columna seleccionada.

Sintaxis:
SELECT MAX(column_name)
FROM table_name
WHERE condition;

;
Ejemplo:
SELECT max(pelicula.duracion) as MayorTiempoDuracion FROM pelicula;
DML
Data Manipulation Language
La función MIN() devuelve el valor más pequeño de la columna seleccionada.

Sintaxis:
SELECT MIN(column_name)
FROM table_name
WHERE condition;

;
Ejemplo:
SELECT min(pelicula.ganancia) as MenorGanancia FROM pelicula;
DML
Data Manipulation Language
La función AVG() devuelve el valor promedio de una columna numérica.

Sintaxis:
SELECT AVG(column_name)
FROM table_name
WHERE condition;

Ejemplo:
SELECT avg(pelicula.costoproduccion) as CostoPromedio FROM pelicula;
DML
Data Manipulation Language
La cláusula HAVING se agregó a SQL porque la WHEREpalabra clave no se puede usar
con funciones agregadas.

Sintaxis:
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);

Ejemplo:
select id_estudio, count(id_pelicula) from pelicula group by id_estudio having
count(id_pelicula)>2
DML
Data Manipulation Language
La expresión CASE pasa por las condiciones y devuelve un valor cuando se cumple la
primera condición (como una declaración if-then-else). Entonces, una vez que una
condición es verdadera, dejará de leer y devolverá el resultado. Si ninguna condición es
verdadera, devuelve el valor de la cláusula ELSE. Si no hay ELSE o ninguna condición es
verdadera, devuelve NULL.
Sintaxis:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
Ejemplo:
select pelicula.titulo,pelicula.anno,
(case
when anno<2000 then "Pelicula Clasica"
when anno>=2000 and anno<2006 then "Pelicula Contemporánea"
else "Pelicula Moderna"
end) as Consideracion
from pelicula;
DML
Data Manipulation Language
Las vistas son consultas que se presentan como una tabla “virtual” a partir de un
conjunto de tablas en una base de datos relacional.
Tienen la misma estructura que una tabla (filas y columnas). La unica diferencia es que
solo se almacena de ellas la definicion, no los datos. Los datos que se recuperan
mediante una consulta a una vista se presentaran igual que los de una tabla.

Sintaxis:

CREATE VIEW view_name AS


SELECT column1, column2, ...
FROM table_name
WHERE condition;

Ejemplo:

create view vista_propietarios_peliculas as


select pelicula.id_pelicula, pelicula.titulo,pelicula.id_estudio,estudio.nombre
from pelicula inner join estudio on pelicula.id_estudio=estudio.id_estudio;
DML
Data Manipulation Language
Los Procedimientos Almacenados en MySQL son una porción de código que se puede guardar
y reutilizar, es útil cuando repites la misma tarea varias veces, siendo un buen metodo para
encapsular el código. Pueden aceptar datos como parárametros para interactuar con ellos
Sintaxis:
delimiter //
create procedure procedimiento(in varEntrada tipo, out varSalida tipo)
begin
select * from tabla;
end//
delimiter ;
Ejemplo:
delimiter //
create procedure ganancias(in cod_peli varchar(6), out pago float)
begin
select (ganancia*0.16) into pago from pelicula where id_pelicula=cod_peli;
end//
delimiter ;
Ejecucion:
call ganancias('0000A5',@impuesto_peli1);
call ganancias('0000A7',@impuesto_peli2);
select @impuesto_peli1,@impuesto_peli2,sum(@impuesto_peli1+@impuesto_peli2) as
totalPagoImpuestos;
DML
Data Manipulation Language
Una Función en MySQL es una rutina creada para tomar unos paámetros, procesarlos y
retornar en una Salida.
Diferencias entre Funciones y Procedimientos:
- Solamente pueden tener parámetros de entrada IN y no parámetros de salida OUT.
- Las Funciones deben retornar un valor con algún tipo de dato definido. Los procedimientos
pueden devolver uno omás valores a través de parámetros o puede que no devuelva ninguno.
- Las funciones pueden usarse en el contexto de una sentencia SQL.
- Solo retornan un valor individual, no un conjunto de registros.
Sintaxis:
delimiter //
create function nombre_funcion (variable tipo) returns tipo
begin
declare numero int;
select count(*) into numero from tabla;
return numero;
end//
delimiter ;
DML
Data Manipulation Language
Funciones (continuación)
Ejemplo:
delimiter //
create function produccion(peli varchar(6)) returns varchar(6)
begin
declare elEstudio varchar(6);
select pelicula.id_estudio into elEstudio from pelicula where pelicula.id_pelicula=peli;
return elEstudio;
end//
delimiter ;

Ejecucion:
select produccion('0000A5');

select concat('La pelicula consultada pertenece al estudio ',estudio.nombre) as Propietario


from estudio where id_estudio=produccion('0000A5');
DML
Data Manipulation Language

Mas diferencias entre Funciones y Procedimientos:

- Los procedimientos pueden retornar varios parámetros de salida y las funciones solo
retornan una sola variable.

- Los parámetros de retorno o de salida en los procedimientos son opcionales y en las


funciones es obligatorio que se tenga que retornar por lo menos un valor.

- Las funciones se pueden llamar en cualquier sentencia de SQL y los procedimientos solo se
pueden llamar mediante call. Incluso se puede llamar una funcion dentro de un
procedimiento.

También podría gustarte