OneCompiler

clase 6 parte 2

105

/* parte 2 de las clases, vamos a ver funciones /
/
las funciones reciben un dato, lo transforman y devuelven otro datos*/
/* vamos a ver las funciones escalares integradas, almacenadas, etc*/

/funciones escalares, son funciones que funcionan de a un solo valor/

select count(*) from gamers;

select id_system_user, concat(first_name,' ', last_name) as full_name from system_user;

select id_system_user, ucase(first_name), upper(last_name), lcase(first_name), lower(last_name) from system_user;

select id_system_user, ucase(first_name), reverse(first_name) from system_user;

select id_system_user, char_length(first_name), reverse(first_name) from system_user;

/* ampliar estos conocimientos conn algun resumen o w3school o luigui analytic*/

/* funciones numericas tambien se pueden aplicar */

select 34*5;

select value, (value % id_game)/100 from vote;

select value, log10((value * id_game)/100) from vote;

select value, value * id_game /100, floor(value * id_game/100), ceiling(value*id_game/100), round(value * id_game/100,0) from vote;

/* tambien tengo funciones de fecha */

select now(), curdate(), curtime(), sysdate(), current_timestamp(), dayname(now());

select str_to_date('01/01/2024', '%d/%m/%Y')

select date_add(sysdate(), interval 5 hour), date_format(sysdate(), '%D %d/%m'), datediff(now(), str_to_date('01/01/2024', '%d/%m/%Y'));

/* aca resuelven las actividades de clase minuto 1 hs 27 min */

/* act 1: unir nonmbre con apellido incluyendo los espacios */

select concat("Julieta", " ", "Vazquez") as full_name;

/* act 2 convierte tu nombre completo en minuscula y luego a mayuscula */

select lcase(concat("JULIETA", " ", "VAZQUEZ")) as full_name;

select ucase(concat("cristian", " ", "ovejero")) as full_name;
/* minuscula */

/* divide tu año de nacimiento por tu dia y mes */

select (1996/0602) as result;
select round(1996/0602) as result;

select abs(-1) as result;

select datediff(curdate(), "1996-02-06") as date_diff;
/* curdate es el estandar que te dice es dia de hoy es tal fecha /
/
averiguar que dia era cuando naciste */

select dayname("1996-02-06") as day;
select dayname("1995-01-14") as day;
/* me quedan 20' de esta clase */

/* nos pasaron la documentacion por chat */

/* ultimo tema de la clase, join */

select * from system_user as system_user
inner join user_type as ut on(ut.id_user_type = su.id_user_type)
where email like '%msu.edu';

/* el resultado con el where es 5 registros y uno de ellos no tiene tipo o id_user_type entonces vamos a usar el join*/
/* para no eliminar los datos con inner join podemos usar el left join.*/

select * from system_user as system_user
left outer user_type as ut on(ut.id_user_type = su.id_user_type)
where email like '%msu.edu';

/* si no se cumple la restriccion de la izquierda (izquierda antes del left join) por ser nulo entonces el registro se va a mostrar igual /
/
con el mismo criterio esta el right join */