Vous êtes sur la page 1sur 4

CONSULTAS RELACIONALES 1 INNER JOIN tbl_calificaciones AS c ON

a.col_alumno_id = c.col_alumno_id
Crear una consulta para mostrar los campos
col_boleta, col_nombre y col_apellidos en INNER JOIN tbl_asignaturas AS s ON
una columna usando CONCAT o CONCAT_WS c.col_asignatura_id = s.col_asignatura_id
para unirlos. WHERE c.col_ordinario_1 >= 6 AND
SELECT col_ordinario_2 >= 6;

col_boleta AS 'Boleta', Mostrar los alumnos que obtuvieron 10 en


el primer y segundo ordinario. (INNER)
CONCAT_WS(' ', col_apellidos,
col_nombre) AS 'Nombre' SELECT

FROM tbl_alumnos; a.col_alumno_id AS 'ID',

a.col_boleta AS 'Boleta',

Mostrar los alumnos que acreditaron el CONCAT_WS(' ', a.col_apellidos,


tercer ordinario. a.col_nombre) AS 'Nombre',

SELECT s.col_nombre AS 'Asignatura',

a.col_boleta AS 'Boleta', c.col_ordinario_1 AS 'I',

CONCAT_WS (' ', a.col_apellidos, c.col_ordinario_2 AS 'II'


a.col_nombre) AS 'Nombre', FROM tbl_alumnos AS a
col_ordinario_3 AS 'Tercer Ordinario' INNER JOIN tbl_calificaciones AS c ON
FROM tbl_alumnos AS a a.col_alumno_id = c.col_alumno_id

INNER JOIN tbl_calificaciones AS c ON INNER JOIN tbl_asignaturas AS s ON


c.col_alumno_id = a.col_alumno_id c.col_asignatura_id = s.col_asignatura_id

WHERE col_ordinario_3 >= 6; WHERE c.col_ordinario_1 = 10 AND


c.col_ordinario_2 = 10;
Mostrar los alumnos que acreditaron el
primer y segundo ordinario y la asignatura. Mostrar la calificación final (Promedio) de
(INNER) todos los alumnos y ordenar por apellidos,
usar IFNULL.
SELECT
SELECT
a.col_alumno_id AS 'ID',
a.col_boleta AS 'Boleta',
a.col_boleta AS 'Boleta',
CONCAT_WS(' ', a.col_apellidos,
CONCAT_WS(' ', a.col_apellidos, a.col_nombre) AS 'Nombre',
a.col_nombre) AS 'Alumno',
c.col_ordinario_1 AS 'I',
s.col_nombre AS 'Asignatura',
c.col_ordinario_2 AS 'II',
c.col_ordinario_1 AS 'I',
c.col_ordinario_3 AS 'III',
c.col_ordinario_2 AS 'II'
( IFNULL(col_ordinario_1,0) +
FROM tbl_alumnos AS a IFNULL(col_ordinario_2,0) +
INNER JOIN tbl_grupos AS g ON IFNULL(col_ordinario_3,0) ) / 3 AS 'Promedio'
a.col_grupo_id = g.col_grupo_id FROM tbl_alumnos AS a
LEFT JOIN tbl_calificaciones AS c ON INNER JOIN tbl_calificaciones AS c ON
a.col_alumno_id = c.col_alumno_id a.col_alumno_id = c.col_alumno_id

ORDER BY col_apellidos, col_nombre; INNER JOIN tbl_asignaturas AS s ON


c.col_asignatura_id = s.col_asignatura_id
Mostrar los alumnos que no tienen asignada
una calificación en el tercer ordinario. (Usar
INNER)
WHERE s.col_asignatura_id = 1 AND
SELECT ((IFNULL(c.col_ordinario_1,0)+IFNULL(c.col_o
rdinario_2,0)+IFNULL(c.col_ordinario_3,0))/3
a.col_boleta AS 'Boleta',
) >= 6
CONCAT_WS(' ', a.col_apellidos,
ORDER BY a.col_genero;
a.col_nombre) AS 'Alumno',
Mostramos todo los alumnos y ordenamos
s.col_nombre AS 'Asignatura',
por promedio.
c.col_ordinario_3 AS 'III'
SELECT
FROM tbl_alumnos AS a
a.col_alumno_id AS 'ID',
INNER JOIN tbl_calificaciones AS c ON
a.col_boleta AS 'Boleta',
a.col_alumno_id = c.col_alumno_id
a.col_nombre AS 'Nombre',
INNER JOIN tbl_asignaturas AS s ON
c.col_asignatura_id = s.col_asignatura_id a.col_apellidos AS 'Apellidos',

WHERE col_ordinario_3 IS NULL; a.col_genero AS 'Sexo',

Mostrar todos los alumnos que acreditaron g.col_nombre AS 'Grupo',


la asignatura de Diseño de Base de Datos y
a.col_correo AS 'Correo',
ordenar por genero y después por apellidos
IFNULL (c.col_ordinario_1,0) AS 'I',
SELECT
IFNULL (c.col_ordinario_2,0) AS 'II',
a.col_alumno_id AS 'ID',
IFNULL (c.col_ordinario_3,0) AS 'III',
a.col_boleta AS 'Boleta',

CONCAT_WS('
((IFNULL(c.col_ordinario_1,0)+IFNULL(c.col_o
',a.col_apellidos,a.col_nombre) AS 'Nombre',
rdinario_2,0)+IFNULL(c.col_ordinario_3,0))/3
a.col_genero AS 'Sexo', ) AS 'Promedio'

IFNULL (c.col_ordinario_1,0) AS 'I',

IFNULL(c.col_ordinario_2,0) AS 'II', FROM tbl_alumnos AS a

IFNULL (c.col_ordinario_3,0) AS 'III', INNER JOIN tbl_grupos AS g ON


a.col_grupo_id = g.col_grupo_id
s.col_nombre AS 'Asignatura',
INNER JOIN tbl_calificaciones AS c ON
a.col_alumno_id = c.col_alumno_id
((IFNULL(c.col_ordinario_1,0)+IFNULL(c.col_o
rdinario_2,0)+IFNULL(c.col_ordinario_3,0))/3 INNER JOIN tbl_asignaturas AS s ON
) AS 'Promedio' c.col_asignatura_id = s.col_asignatura_id

FROM tbl_alumnos AS a

INNER JOIN tbl_grupos AS g ON ORDER BY


a.col_grupo_id = g.col_grupo_id ((IFNULL(c.col_ordinario_1,0)+IFNULL(c.col_o
rdinario_2,0)+IFNULL(c.col_ordinario_3,0))/3 g.col_nombre AS 'Grupo',
);
DATE_FORMAT (col_nacimiento,
CONSULTAS RELACIONALES 2 '%d/%m/%Y') AS 'Nacimiento',

Mostrar Número de Boleta, Nombre MONTH (col_nacimiento) AS 'Mes'


completo, Grupo y Fecha de Nacimiento
FROM tbl_alumnos AS a
iniciando con el día después por el mes y por
ultimo el año (dd/mm/yyyy). LEFT JOIN tbl_grupos g ON a.col_grupo_id
= g.col_grupo_id
SELECT
WHERE MONTH(col_nacimiento) = 1 OR
col_boleta AS 'Boleta',
MONTH(col_nacimiento)= 9
CONCAT_WS(' ', col_apellidos,
Obtener los alumnos que nacieron entre
a.col_nombre) AS 'Nombre',
1/Enero/1996 y 15/Julio/1996.
g.col_nombre AS 'Gupo',
SELECT
DATE_FORMAT(col_nacimiento,
col_boleta AS 'Boleta',
'%d/%m/%Y') AS 'Nacimiento'
CONCAT_WS(' ', a.col_apellidos,
FROM tbl_alumnos a
a.col_nombre) AS 'Nombre',
LEFT JOIN tbl_grupos g ON a.col_grupo_id =
g.col_nombre AS 'Grupo',
g.col_grupo_id
DATE_FORMAT (col_nacimiento,
Obtener los alumnos que nacieron en los
'%d/%m/%Y') AS 'Nacimiento'
años 1997 o 1998.

SELECT
FROM tbl_alumnos AS a
col_boleta AS 'Boleta',

CONCAT_WS(' ', a.col_apellidos,


a.col_nombre) AS 'Nombre', LEFT JOIN tbl_grupos g
g.col_nombre AS 'Grupo', ON a.col_grupo_id = g.col_grupo_id
DATE_FORMAT (col_nacimiento, WHERE col_nacimiento BETWEEN '1996-
'%d/%m/%Y') AS 'Nacimiento', 01-01' AND '1996-07-15'
DATE_FORMAT(col_nacimiento,'%Y') AS CONSULTAS RELACIONALES 3
'Año'
Número de Mujeres
FROM tbl_alumnos AS a
SELECT
LEFT JOIN tbl_grupos g ON a.col_grupo_id
= g.col_grupo_id COUNT(*) AS 'Mujeres'

WHERE YEAR(col_nacimiento) = 1997 OR FROM tbl_alumnos


YEAR(col_nacimiento)= 1998 WHERE col_genero = 'Mujer'
Obtener los alumnos que nacieron en Enero
o Septiembre.
Mostrar la edad de cada alumno.
SELECT
SELECT
col_boleta AS 'Boleta',
col_boleta AS 'Boleta',
CONCAT_WS(' ', a.col_apellidos,
a.col_nombre) AS 'Nombre',
CONCAT_WS(' ', a.col_apellidos, CONCAT_WS(' ', a.col_apellidos,
a.col_nombre) AS 'Nombre', a.col_nombre) AS 'Nombre',

DATE_FORMAT (col_nacimiento, DATE_FORMAT (col_nacimiento,


'%d/%m/%Y') AS 'Nacimiento', '%d/%m/%Y') AS 'Nacimiento'

YEAR(CURDATE() )- YEAR(col_nacimiento) FROM tbl_alumnos AS a


AS 'Edad'
WHERE CONCAT_WS (' ', a.col_apellidos,
FROM tbl_alumnos AS a a.col_nombre) LIKE '%car%'

Obtener los alumnos que en el nombre ORDER BY `Nombre`


contengan la palabra "luis" o "dan" al inicio.
Mostrar los alumnos que cursan el segundo
SELECT semestre.

col_boleta AS 'Boleta', SELECT

CONCAT_WS(' ', a.col_apellidos, col_boleta AS 'Boleta',


a.col_nombre) AS 'Nombre',
CONCAT_WS(' ', a.col_apellidos,
DATE_FORMAT (col_nacimiento, a.col_nombre) AS 'Nombre',
'%d/%m/%Y') AS 'Nacimiento'
g.col_nombre AS 'Grupo'
FROM tbl_alumnos AS a
FROM tbl_alumnos AS a
LEFT JOIN tbl_grupos g ON a.col_grupo_id
LEFT JOIN tbl_grupos g ON a.col_grupo_id
= g.col_grupo_id
= g.col_grupo_id
WHERE a.col_nombre LIKE 'luis%' OR
WHERE g.col_nombre LIKE '2%'
a.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(' ', a.col_apellidos,


a.col_nombre) AS 'Nombre',

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

FROM tbl_alumnos AS a

LEFT JOIN tbl_grupos g ON a.col_grupo_id


= g.col_grupo_id

WHERE a.col_nombre LIKE '%luis%' OR


a.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',