SET SQL_SAFE_UPDATES=0;
DELETE FROM tabla_alumno_matricula_pk;

INSERT INTO tabla_alumno_matricula_pk values
('12345','Ivette Yazmin','Aldana','Ramírez','Ingeniería Electrónica'),
('23456','Jairo Jacobo','Camacho','Peralta','Ingeniería en Computación'),
('34567','Ana Victoria','Cruz','Méndez','Ingeniería en Computación'),
('45678','Jesús Daniel','Lara','Bautista','Ingeniería Civil'),
('56789','Victor','Romero','Gutiérrez','Ingeniería Electrónica'),
('67890','Mauricio','Cortes','López','Ingeniería Mecánica'),
('78901','Alejandro','Cañas','Cazares','Ingeniería Química'),
('89012','David','Hernández','Arteaga','Ingeniería Ambiental'),
('90123','Viridiana','Valdez','Hernández','Ingeniería Civil');

/*Selecciona todos los registros y todas las columnas de la tabla tabla_alumno_matricula_pk*/
SELECT * FROM tabla_alumno_matricula_pk;

/*Selecciona solo la matrícula y el nombre de la tabla tabla_alumno_matricula_pk*/
SELECT matricula,nombre FROM tabla_alumno_matricula_pk;

/*Selecciona los elementos únicos de una columna (no muestra elementos repetidos)*/
SELECT DISTINCT licenciatura FROM tabla_alumno_matricula_pk; 

/*Seleccionar los valore máximos y mínimos de una columna (Solo funciona para valores numéricos)*/
/*SELECT MAX (columna) FROM tabla_alumno_matricula_pk;
/*SELECT MIN (columna) FROM tabla_alumno_matricula_pk;

/*Renombrar las columnas cuando se presentan los resultados*/
SELECT nombre AS 'Nombre del Alumno' FROM tabla_alumno_matricula_pk;

/*Seleccionar rangos de resultados*/
SELECT * FROM tabla_alumno_matricula_pk LIMIT 1,3;
SELECT * FROM tabla_alumno_matricula_pk LIMIT 1;  

/*Ordenando los Resultados*/
SELECT * FROM tabla_alumno_matricula_pk ORDER BY primer_apellido DESC; 
SELECT * FROM tabla_alumno_matricula_pk ORDER BY primer_apellido ASC; 

/*Ordenando en base a varios criterios*/
SELECT * FROM tabla_alumno_matricula_pk ORDER BY licenciatura, primer_apellido DESC;

/*Total de elementos*/
SELECT COUNT(*) FROM tabla_alumno_matricula_pk;

/*:::EJERCICIO:::*/
/*Desplegar el primer apellido, segundo apellido y nombre de los alumnos ordenados de manera
ascendente primero por licenciatura y después por apellido paterno. Los nombres y orden de las columnas serán:
Primer Apellido, Segundo Apellido, Nombre y Licenciatura*/
SELECT primer_apellido as 'Primer Apellido',segundo_apellido as 'Segundo Apellido',nombre as 'Nombre',licenciatura as 'Licenciatura'
FROM  tabla_alumno_matricula_pk ORDER BY licenciatura,primer_apellido;

/***************CONDICIONALES CONSULTAS****************/

/*Selecciona los elementos que cumplen con una cierta condición*/
SELECT * FROM tabla_alumno_matricula_pk WHERE licenciatura='Ingeniería Electrónica'; 

/*La condición se puede combinar con operadores lógicos OR AND != NOT IN*/
SELECT * FROM tabla_alumno_matricula_pk WHERE licenciatura='Ingeniería Electrónica' AND primer_apellido='ALDANA'; 
SELECT * FROM tabla_alumno_matricula_pk WHERE licenciatura='Ingeniería Electrónica' OR primer_apellido='ALDANA'; 
SELECT * FROM tabla_alumno_matricula_pk WHERE licenciatura != ('Ingeniería en Computación');
SELECT * FROM tabla_alumno_matricula_pk WHERE licenciatura NOT IN ('Ingeniería en Computación');
SELECT * FROM tabla_alumno_matricula_pk WHERE licenciatura NOT IN ('Ingeniería en Computación','Ingeniería Electrónica');

/*El operador LIKE Y %*/
SELECT * FROM tabla_alumno_matricula_pk  WHERE licenciatura LIKE '%Computación';

/*:::EJERCICIO:::*/
/*Seleccionar el nombre, y los apellidos de los alumnos que no son de Ingeniería en Computación*/
SELECT nombre,primer_apellido,segundo_apellido FROM tabla_alumno_matricula_pk WHERE licenciatura != 'Ingeniería en Computación';

/***************ACTUALIZACIONES CONDICIONALES****************/

/*Actualiza el nombre en donde se cumple una condición*/
UPDATE tabla_alumno_matricula_pk SET nombre = 'Jairo' WHERE matricula = '23456';
SELECT * FROM tabla_alumno_matricula_pk WHERE matricula = '23456';

/*Actualización de múltiples campos*/
UPDATE tabla_alumno_matricula_pk SET nombre = 'Jairo', primer_apellido='González', segundo_apellido='Hernández' 
WHERE matricula = '23456';
SELECT * FROM tabla_alumno_matricula_pk WHERE matricula = '23456';

/*Actualización de múltiples elementos*/
UPDATE tabla_alumno_matricula_pk SET licenciatura = 'Ingeniería en Electrónica' WHERE licenciatura = 'Ingeniería Electrónica';
SELECT * FROM tabla_alumno_matricula_pk;

/*:::EJERCICIO:::*/
/*Cambiar a Ingeniería Física todas las carreras que no sean Ingeniería en Computación o Ingeniería en Electrónica*/
UPDATE tabla_alumno_matricula_pk SET licenciatura = 'Ingeniería Física' WHERE licenciatura NOT IN 
('Ingeniería en Electrónica','Ingeniería en Computación') ;
SELECT * FROM tabla_alumno_matricula_pk;

/***************ELIMINACIONES CONDICIONALES****************/

/*Borrar un alumno en particular*/
DELETE FROM tabla_alumno_matricula_pk WHERE matricula = '67890';
SELECT * FROM tabla_alumno_matricula_pk;

/*Borrar alumnos que cumplan con una condición en particular*/
DELETE FROM tabla_alumno_matricula_pk WHERE primer_apellido = 'Hernández';
SELECT * FROM tabla_alumno_matricula_pk;

/*Borrar todos los alumnos que comiencen con J en el nombre pero que no sean de Ingeniería en Computación*/
DELETE FROM tabla_alumno_matricula_pk WHERE nombre LIKE 'J%' AND licenciatura NOT IN ('Ingeniería en Computación');
SELECT * FROM tabla_alumno_matricula_pk;
