Está en la página 1de 7

 

Actividades Diseño de Base de datos


 __________________
 __________ _________________
__________________
_________________
__________________
___________________
______________
_____
Crear una consulta para mostrar los campos
c ampos col_boleta, col_nombre y col_apellidos
en una columna usando CONCAT o CONCAT_WS para unirlos.
-- Consulta de ejemplo
SELECT
col_boleta AS 'Boleta',

CONCAT( col_apellidos, ' ', col_nombre ) AS 'Nombre'


FROM tbl_alumnos

 ___________________________
 __________________ __________________
_________________
__________________
___________________
______________
_____
Mostrar los alumnos que acreditaron el tercer ordinario.

SELECT
col_boleta AS 'Boleta',
CONCAT(a.col_apellidos,'
CONCAT(a.col_apellid os,' ',a.col_nombre) AS 'Nombre',
g.col_ordinario_3 AS 'III'
FROM tbl_alumnos AS a
LEFT JOIN tbl_calificaciones AS g
ON g.col_alumno_id=a.col_alumno_id
g.col_alumno_id=a.col_alumno_id

WHERE
g.col_ordinario_3>=6

 __________________
 _____________________________
____________________
_________________
_________________
___________________
__________________
________

Mostrar los alumnos que acreditaron el primer y segundo ordinario y la asignatura. (INNER)

SELECT
a.col_alumno_id AS 'ID',
col_boleta AS 'Boleta',
CONCAT_WS(' ',a.col_apellidos,a.col_nombre)
',a.col_apellidos,a.col_nombre) AS 'Nombre',
b.col_nombre AS 'Asignatura',
c.col_ordinario_1 AS 'Primer ordinario',
c.col_ordinario_2 AS 'Segundo ordinario'
FROM tbl_alumnos AS a
INNER JOIN tbl_calificaciones AS c
ON c.col_alumno_id=a.col_alumno_id
c.col_alumno_id=a.col_alumno_id
INNER JOIN tbl_asignaturas AS b
ON b.col_asignatura_id=c.col_asignatura_id
b.col_asignatura_id=c.col_asignatura_id
WHERE col_ordinario_1 >= 6 AND col_ordinario_2 >= 6

 __________________
 ___________________________
__________________
_________________
__________________
___________________
___________________
__________
 

Mostrar los alumnos que obtuvieron 10 en el primer y segundo ordinario. (INNER)

SELECT
a.col_alumno_id AS 'ID',
a.col_boleta AS'Boleta',
CONCAT_WS(' ',a.col_apellidos,a.col_nombre) AS 'Nombre',
c.col_nombre AS 'asignatura',

b.col_ordinario_1 AS 'Primer ordinario',


b.col_ordinario_2 AS 'Segundo ordinario'
FROM tbl_alumnos AS a
INNER JOIN tbl_calificaciones AS b
ON b.col_alumno_id=a.col_alumno_id
b.col_alumno_id=a.col_alumno_id
INNER JOIN tbl_asignaturas AS c
ON c.col_asignatura_id=b.col_asignatura_id
c.col_asignatura_id=b.col_asignatura_id
where col_ordinario_1 =10 AND col_ordinario_2
c ol_ordinario_2 =10

 __________________
 ___________________________
__________________
_________________
__________________
___________________
_________________
________

Mostrar la calificación final (Promedio) de todos los alumnos y ordenar por apellidos, usar IFNULL.

SELECT
a.col_boleta AS 'Boleta',
CONCAT_WS(' ',a.col_apellidos,a.col_nombre) AS 'Alumno',
g.col_ordinario_1 AS 'I',
g.col_ordinario_2 AS 'II',
g.col_ordinario_3 AS 'II',
(IFNULL (g.col_ordinario_1,0)+IFNULL(g.col_ordinario_2,0)+IFNULL(g.col_ordinario_3,0))/3 AS
'Promedio'
FROM tbl_alumnos AS a
LEFT JOIN tbl_calificaciones AS g
ON g.col_alumno_id = a.col_alumno_id
order by col_apellidos

 __________________
 ___________________________
__________________
_________________
__________________
_______________
_____
Mostrar los alumnos que no tienen asignada una calificación
c alificación en el tercer ordinario. (Usar INNER)
SELECT
a.col_boleta AS 'Boleta',
CONCAT_WS(' ',a.col_apellidos,a.col_nombre) AS 'Nombre',
b.col_nombre AS 'Asignatura',
c.col_ordinario_3 AS 'tercer ordinario'
FROM tbl_alumnos AS a
INNER JOIN
tbl_calificaciones AS c
ON c.col_alumno_id=a.col_alumno_id
c.col_alumno_id=a.col_alumno_id
INNER JOIN tbl_asignaturas AS b
ON b.col_asignatura_id=c.col_asignatura_id
b.col_asignatura_id=c.col_asignatura_id
where col_ordinario_3 IS NULL
 

 ___________________________________
 ______________________________________________________
________________________
_____

Mostrar todos los alumnos que acreditaron la asignatura de Diseño de Base de Datos y ordenar
por genero.

SELECT
a.col_alumno_id AS 'ID',

a.col_boleta AS 'Boleta',
CONCAT_WS(' ',a.col_apellidos,a.col_nombre) AS 'Nombre',
a.col_genero AS 'genero',
IFNULL(b.col_ordinario_1,0) AS 'I',
IFNULL(b.col_ordinario_2,0) AS 'II',
IFNULL(b.col_ordinario_3,0) AS 'III',
c.col_nombre 'asignatura',
(IFNULL(col_ordinario_1,0)+IFNULL(col_ordinario_2,0)+IFNULL(col_ordinari
(IFNULL(col_ordinario_1,0)+IFNULL(col_ ordinario_2,0)+IFNULL(col_ordinario_3,0))/3
o_3,0))/3 AS 'promedio'
FROM tbl_alumnos AS a
INNER JOIN tbl_calificaciones AS b
ON b.col_alumno_id=a.col_alumno_id
b.col_alumno_id=a.col_alumno_id
INNER JOIN tbl_asignaturas AS c
ON c.col_asignatura_id=b.col_asignatura_id
c.col_asignatura_id=b.col_asignatura_id

wherebyc.col_asignatura_id=1
order c.col_asignatura_id
a.col_genero =1

 __________________
 ___________________________
__________________
_________________
__________________
___________________
_________

Mostramos todos los alumnos y ordenamos por promedio.


SELECT
a.col_alumno_id AS 'ID',
a.col_boleta AS 'Boleta',
a.col_nombre AS 'nombre',
a.col_apellidos AS 'apellidos',
a.col_genero AS 'sexo',

c.col_nombre AS'correo',
a.col_correo AS 'grupo',
IFNULL(b.col_ordinario_1,0) AS 'I',
IFNULL(b.col_ordinario_2,0) AS 'II',
IFNULL(b.col_ordinario_3,0) AS 'III',
(IFNULL(b.col_ordinario_1,0)+IFNULL(b.col_ordinario_2,0)+IFN
(IFNULL(b.col_ordinario_1,0)+ IFNULL(b.col_ordinario_2,0)+IFNULL(b.col_ordinario_3,0))/3
ULL(b.col_ordinario_3,0))/3
AS 'promedio'
FROM tbl_alumnos AS a
INNER JOIN tbl_calificaciones AS b
ON b.col_alumno_id=a.col_alumno_id
b.col_alumno_id=a.col_alumno_id
INNER JOIN tbl_grupos AS c
ON c.col_grupo_id=a.col_grupo_id
c.col_grupo_id=a.col_grupo_id
order by promedio;
 __________________
 __________ _________________
__________________
_________________
__________________
___________________
______________
_____
 

Mostrar Número de Boleta, Nombre completo, Grupo y Fecha de Nacimiento iniciando con el día
después por el mes y por ultimo el año (dd/mm/yyyy).

SELECT
col_boleta AS 'Boleta',
CONCAT_WS(' ', col_apellidos, a.col_nombre) AS 'Nombre',
g.col_nombre AS 'Gupo',

DATE_FORMAT(col_nacimiento, '%d/%m/%Y') AS 'Nacimiento'


FROM tbl_alumnos a
LEFT JOIN tbl_grupos g ON a.col_grupo_id = g.col_grupo_id
 __________________
 __________ _________________
__________________
_________________
__________________
_______________
_____
Obtener los alumnos que nacieron en los años 1997 o 1998.

SELECT
col_boleta AS 'Boleta',
CONCAT_WS(' ', col_apellidos, a.col_nombre) AS 'Nombre',
g.col_nombre AS 'Grupo',
DATE_FORMAT (col_nacimiento, '%d/%m/%Y') As 'Nacimiento',
YEAR(col_nacimiento) as 'Año'
FROM tbl_alumnos AS a

LEFT JOIN tbl_grupos AS g


ON g.col_grupo_id = a.col_grupo_id
WHERE YEAR (col_nacimiento)= 1997 OR YEAR (col_nacimiento) = 1998;
 __________________
 __________ _________________
__________________
_________________
__________________
_______________
_____
Obtener los alumnos que nacieron en Enero o Septiembre.

SELECT
col_boleta AS 'Boleta',
CONCAT_WS(' ', col_apellidos, a.col_nombre) AS 'Nombre',
g.col_nombre AS 'Grupo',
DATE_FORMAT (col_nacimiento, '%d/%m/%Y') AS 'Nacimiento',
MONTH(col_nacimiento)
MONTH(col_nacimi ento) AS 'Mes'
FROM tbl_alumnos AS a
LEFT JOIN tbl_grupos AS g
ON g.col_grupo_id = a.col_grupo_id
WHERE MONTH(col_nacimiento) = 1 OR MONTH(col_nacimiento) = 9;
 __________________
 __________ _________________
__________________
_________________
_____________________
_______________
__
Obtener los alumnos que nacieron entre 1/Enero/1996 y 15/Julio/1996.
SELECT
col_boleta AS 'Boleta',
CONCAT_WS(' ', col_apellidos, a.col_nombre) AS 'Nombre',
g.col_nombre AS 'Grupo',
DATE_FORMAT(col_nacimiento,'%d/%m/%Y')
DATE_FORMAT(col_naci miento,'%d/%m/%Y') AS 'Nacimiento'
FROM tbl_alumnos as a
left join tbl_grupos as g
on a.col_grupo_id = g.col_grupo_id
g .col_grupo_id
WHERE col_nacimiento >= '1996-01-01' AND col_nacimiento <= '1996-07-15';
 

Número de Mujeres
SELECT
COUNT(*)AS 'Mujeres'
FROM tbl_alumnos
WHERE col_genero = 'Mujer';
 __________________
 __________ _________________
__________________
_________________
__________________
___________________
______________
_____

Mostrar la edad de cada alumno.


SELECT
col_boleta AS 'Boleta',
CONCAT_WS(' ', col_apellidos, col_nombre) AS 'Nombre',
DATE_FORMAT(col_nacimiento,'%d/%m/%Y')
DATE_FORMAT(col_naci miento,'%d/%m/%Y') AS 'Nacimiento',
YEAR(CURDATE())- YEAR(col_nacimiento) AS 'Edad'
FROM tbl_alumnos;
 __________________
 __________ _________________
__________________
_________________
__________________
___________________
______________
_____
Obtener los alumnos que en el nombre contengan la palabra "luis" o "dan" al inicio.
SELECT
col_boleta AS 'Boleta',
CONCAT_WS(' ', col_apellidos, col_nombre) AS 'Nombre',
DATE_FORMAT(COL_NACIMIENTO,
DATE_FORMAT(COL_NACIMIEN TO, '%d/%m/%Y') AS 'Nacimiento'
FROM tbl_alumnos
WHERE col_nombre LIKE 'luis%' OR col_nombre like'dan%';
 __________________
 __________ _________________
__________________
_________________
__________________
___________________
______________
_____
Obtener los alumnos que en el nombre contengan la palabra "luis" o "alberto" en
cualquier posición.
SELECT
col_boleta AS 'Boleta',
CONCAT_WS(' ', col_apellidos, col_nombre) AS 'Nombre',
DATE_FORMAT(col_nacimiento,
DATE_FORMAT(col_naci miento, '%d/%m/%Y') AS 'Nacimiento'
FROM tbl_alumnos
WHERE col_nombre LIKE '%luis%' OR col_nombre LIKE '%alberto%';
 __________________
 __________ _________________
__________________
_________________
__________________
___________________
______________
_____
Mostrar los alumnos que en el nombre completo contengan la palabra "car" y ordenar apellidos
y nombre.
SELECT
col_boleta AS 'Boleta',
CONCAT_WS(' ', col_apellidos, col_nombre) AS 'Nombre',
DATE_FORMAT(col_nacimiento,
DATE_FORMAT(col_naci miento, '%d/%m/%Y') AS 'Nacimiento'
FROM tbl_alumnos
WHERE col_nombre LIKE '%car%' OR col_apellidos LIKE '%car%'
ORDER BY col_apellidos;
 

Mostrar los alumnos que cursan el segundo semestre.


SELECT
col_boleta AS 'Boleta',
CONCAT_WS(' ', col_apellidos, a.col_nombre) AS 'Nombre',
g.col_nombre AS 'Grupo'
FROM tbl_alumnos a
LEFT JOIN tbl_grupos g

ON a.col_grupo_id = g.col_grupo_id
WHERE g.col_nombre LIKE '2%'
 __________________
 __________ ___________________
_____________________
___________________
__________________
_________________
___________
___
Contar los alumnos que nacieron en 1997 y 1998 y ordenar por número de alumnos. 
SELECT
YEAR(col_nacimiento) AS 'Año',
COUNT(*)AS 'Alumnos'
From tbl_alumnos as a
WHERE YEAR(col_nacimiento) = 1996 OR YEAR(col_nacimiento) = 1997
GROUP BY YEAR(col_nacimiento);
 __________________
 __________ _________________
__________________
_________________
__________________
___________________
______________
_____
Mostrar el promedio general de Base de Datos. (INNER) 
SELECT
((AVG(IFNULL(a.col_ordinario_1,0))+
AVG(IFNULL(a.col_ordinario_2,0))+AVG(IFNULL(a.col_ordinario_3,0))
AVG(IFNULL(a.col_ordinario_ 2,0))+AVG(IFNULL(a.col_ordinario_3,0)))/3)-0.12218045
)/3)-0.12218045 AS
'Promedio',
b.col_nombre AS 'Asignatura'
from tbl_calificaciones AS a
left join tbl_asignaturas AS b
on a.col_asignatura_id=b.col_asignatura_id;
a.col_asignatura_id=b.col_asignatura_id;

 _____________________________
 __________________ ____________________
_________________
_________________
___________________
_____________
___
Contar solo mujeres y Hombres
SELECT
col_genero AS 'Genero',
COUNT(*) as 'Alumnos'

FROM tbl_alumnos
GROUP BY col_genero
 __________________
 __________ _________________
__________________
_________________
__________________
___________________
______________
_____
Mostrar el promedio por grupos de Base de Datos. (INNER)
SELECT
b.col_nombre AS 'Asignatura',
d.col_nombre AS 'Grupo',
(AVG(IFNULL(a.col_ordinario_1,0))+AVG(IFNULL(a.col_ordinario_
(AVG(IFNULL(a.col_ordinario_ 1,0))+AVG(IFNULL(a.col_ordinario_2,0))+AVG(IFNULL(a.col_ordinario
2,0))+AVG(IFNULL(a.col_ordinario
 _3,0)))/3 AS 'Promedio'
FROM tbl_calificaciones AS a
LEFT JOIN tbl_asignaturas AS b
on a.col_asignatura_id=b.col_asignatura_id
a.col_asignatura_id=b.col_asignatura_id

LEFT JOIN tbl_alumnos AS c


on c.col_alumno_id=a.col_alumno_id
c.col_alumno_id=a.col_alumno_id
 

LEFT JOIN tbl_grupos AS d


on d.col_grupo_id=c.col_grupo_id
d.col_grupo_id=c.col_grupo_id
WHERE b.col_asignatura_id=1
b.col_asignatura_id=1
group by d.col_nombre
order by d.col_grupo_id

También podría gustarte