Evaluación conocimientos técnicos aplicados de SQL
Enviado por Angie Lorena Jimenez Montero • 25 de Febrero de 2020 • Ensayo • 541 Palabras (3 Páginas) • 161 Visitas
DOCUMENTO ALTAMENTE RESTRINGIDO
CARGO A QUE ASPIRA: (220-4-203) Programador de Software Junior__________
NOMBRE DEL ASPIRANTE: _______________________________________________
FECHA: _______________________________________________
NOMBRE DEL EVALUADOR: _______________________________________________
CALIFICACIÓN (1 a 5): __________________
PREGUNTAS
Esta prueba está diseñada para evaluar conocimientos técnicos aplicados de SQL y las aptitudes para analizar y encontrar errores de sintaxis en consultas de nivel intermedio.
- Encuentre el error la siguiente consulta SQL:
SELECT
CASE WHEN F.NOMBRE_FUN IS NOT NULL THEN F.NOMBRE_FUN ELSE 'SIN ASIGNAR' END AS FUNC,
CASE WHEN D.NOMBRE_DEP IS NOT NULL THEN D.NOMBRE_DEP ELSE 'SIN ASIGNAR' END AS DEPE ,
FROM
PROCESOS G
JOIN ESCRITORIOS E ON E.CODIGOPRO = G.CODIGOPRO
LEFT JOIN FUNCIONARIOS F ON F.CODIGOFUN = E.CODIGOFUN_ASIGNADO
LEFT JOIN DEPENDENCIAS D ON D.CODIGODEP = F.CODIGODEP
WHERE
E.ACTIVO = 1
ORDER BY 1;
- A partir de la siguiente consulta SQL dibuje el modelo entidad relación que se consulta:
SELECT
ES.NUMERO,P.NOMBRE_PROCESO,CURRENT_DATE
FROM ESCRITORIOS ES
LEFT JOIN INSTANCIAS INS ON INS.CODIGO_INST = ES.CODIGO_INST
JOIN ESCRITORIOS ECOF ON ECOF.CODIGO_ESC = INS.PARENTESC
JOIN PROCESOS P ON P.CODIGOPRO = ECOF.CODIGOPRO
WHERE P.CODIGO = 'PROCESO_PRUEBA_1'
- Basado en la consulta SQL del punto 2, ¿Si no existe ningún registro en la tabla instancias esta consulta cuántos registros retornaría?
- Identifique los esquemas en la siguiente consulta SQL
SELECT DISTINCT
TTD.NUMRAD AS "numeroRadicado",
UPPER(TER.PAPELLIDO)||' '||UPPER(TER.SAPELLIDO)||' '||UPPER(TER.PNOMBRE)||' '||UPPER(TER.SNOMBRE) AS "nombreDestinatario",
(CE.COSTO_INICIAL+CE.COSTO_AGREGADO) AS "VALOR",
(TTD.NUMFOLIOS) AS "FOLIOS"
from
G_DOC.GESTION_SALIDA GS
JOIN G_GER.DOCUMENTOS TTD ON TTD.CODDOC = GS.FK_DOC
JOIN G_GER.DEPENDENCIAS DEP ON TTD.CODDEP = DEP.CODDEP
JOIN G_GER.PERSONAS TER ON TER.NUMTER = TTD.NUMTER,
G_DOC.COSTOS_ENVIO CE
WHERE
AND CE.MEDENV = TTD.TIPMED
AND CE.VIAENV = GS.FK_VIA_ENVIO
AND (TTD.NUMFOLIOS*CE.REL_FOL_PESO) BETWEEN CE.PESO_MIN AND CE.PESO_MAX
- Identifique el error en la consulta del punto 4.
- ¿Qué agregaría a la consulta del punto 4 para ordenar los registros por el VALOR del costo de envío?
- Cree una consulta que muestre que médicos tiene citas con que pacientes y la fecha de la cita. (Nombre Médico, Nombre paciente, Fecha cita)
[pic 2]
- A la consulta del punto anterior agréguele los filtros para mostrar todas las citas que están entre el 01-01-2016 y el 01-03-2016 para la especialidad “pediatría”.
- Cuál es el resultado impreso del siguiente código javascript:
var num = 2; var i = 5;
while(i > 0 && num < 5){
num++;
if(num>3){
alert(“impression:”+(num-i)+””);
}else{
alert(“impression:”+(num+i)+””);
}
}
- ¿Cuál es la sintaxis SQL para ordenar, y cuál es la ordenación por defecto?
FIN DE LA PRUEBA
RESPUESTAS
- Hay 1 coma en la tercera línea que sobra.
- Modelo entidad-relación
[pic 3]
- Cero (0) registros.
- Esquemas G_DOC y G_GER.
- El AND que sigue después del WHERE.
- ORDER BY 3 al final de la consulta.
- SELECT
CONCAT(USUARIOMEDICO.NOMBRE, ' '|| USUARIOMEDICO.APELLIDO) AS NOMBREMEDICO,
CONCAT(SUARIOPACIENTE.NOMBRE, ' '|| SUARIOPACIENTE.APELLIDO) AS NOMBREPACIENTE,
CITA.FECHA AS FECHACITA
FROM TBL_CITA CITA
JOIN TBL_MEDICO MEDICO ON MEDICO.CEDULA = CITA.TBL_MEDICO_CEDULA
JOIN TBL_PACIENTE PACIENTE ON PACIENTE.CEDULA = CITA.TBL_PACIENTE_CEDULA
JOIN TBL_USUARIO USUARIOMEDICO ON USUARIOMEDICO.ID = MEDICO.TBL_USUARIO_ID
JOIN TBL_USUARIO USUARIOPACIENTE ON USUARIOPACIENTE.ID = PACIENTE.TBL_USUARIO_ID
- WHERE TBL_CITA.FECHA BETWEEN ‘01-01-2016’ AND ‘01-03-2016’ AND TBL_MEDICO.ESPECIALIDAD = ‘pediatría’
- impression:8
impression:-1
impression:0
- La ordenación por defecto es la ascendente. Estas dos sentencias son idénticas:
select from order by
select from order by asc
Para ordenar descendentemente, simplemente reemplace “asc” con “desc”.
...