Documente Academic
Documente Profesional
Documente Cultură
Construya el enunciado o describa el resultado (con palabras concretas) de las siguientes consultas:
R/Obtener el número de las etapas donde el nombre de la ciudad de llegada tenga por segunda letra una “O” o
donde el nombre de la ciudad de salida lleve dos o más ‘e’s.
3. UPDATE EMPLEADOS
SET SALARIO_BRUTO = (SELECT SUM(SALIRO_BRUTO)
FROM NOMINAS
WHERE NOMINAS.CO_EMPLEADO = EMPLEADOS.CO_EMPLEADO)
WHERE SALARIO_BRUTO IS NULL
Actualizar los salarios de los empleados que estén en la tabla de nómina cuyo salario sea igual a la suma de los salarios y
que no tenga salario en nómina.
4. Obtener los nombres de los puertos cuya altura es mayor que la media de altura de los puertos de 2ª categoría
5. Obtener el nombre de cada equipo y la edad media de sus ciclistas con más de 25 años, de aquellos equipos con
más de 3 corredores mayores de 25 años.
De acuerdo a las siguientes consulta coloque al frente cual sentencia (unión intersección minus) se usaría en el
select y explique por qué?
6. Obtener los nombres de las personas que son tanto empleados como directores de departamento.
El propósito del Comando SQL UNION ALL es también combinar los resultados de dos consultas juntas. La
diferencia entre UNION ALL y UNION es que, mientras UNION sólo selecciona valores distintos, UNION
ALLselecciona todos los valores.
Parecido al comando UNION, INTERSECT también opera en dos instrucciones SQL. La diferencia es que,
mientras UNION actúa fundamentalmente como un operador OR (O) (el valor se selecciona si aparece en la
primera o la segunda instrucción), el comando INTERSECT actúa como un operador AND (Y) (el valor se
selecciona si aparece en ambas instrucciones).
minus" (diferencia) devuelve los registros de la primera consulta que no se encuentran en segunda consulta, es
decir, aquellos registros que no coincide
( F ) Cuando decimos que las variables que usamos en PL/SQL se emplean para manipular datos almacenados en una
tabla de la base de datos. En estos casos no tendrá que ser la variable del mismo tipo que las columnas de las tablas.
( V ) Esta es la sentencia que me permite declarar el mismo tipo de dato de la columna a una variable : v_salarios
Empleado.salario%TYPE;
( F ) En la sentencia Group By sólo podrán aparecer las columnas por la cuales están agrupando o funciones agregadas
TENGA EN CUENTA
IF condicion THEN
instrucciones;
ELSE
IF condicion2 THEN
instrucciones;
ELSE
IF condicion3 THEN
instrucciones;
END IF;
END IF;
END IF;
________DIFERENTE A____________________________________________________________________
IF apellido =„Pérez‟ THEN
salario:= salario *1.10; <span class="comentario">--aumento de salario en un 10%</s
pan>
ELSIF apellido =‘Martínez’ THEN
salario:= salario *1.15; <span class="comentario">--aumento de salario en un 15%</s
pan>
ELSIF apellido=‘Alvarez’ THEN
salario:= salario *1.20; <span class="comentario">--aumento de salario en un 20%</s
pan>
ELSE
salario:= salario* 1.05; <span class="comentario">--aumento de salario en un 5%</sp
an>
END IF;
10. ( F )¿El siguiente código es correcto cuando se va trabajar con la estructura del for?
RESPUESTA ES
BEGIN
emple:='&Ingrese_nombre_empleado: ';
tiempo:='&Ingrese_el_tiempo_laborado_en_años: ';
if(tiempo<3) then
sueldo:=540000*0.03;
DBMS_OUTPUT.PUT_LINE('El trabajador ' || emple || 'por llevar ' || tiempo ||
'años trabajando gana ' || sueldo);
elsif (tiempo>3 and tiempo<5) then
sueldo:=540000*0.05;
DBMS_OUTPUT.PUT_LINE('El trabajador ' || emple || 'por llevar ' || tiempo ||
'años trabajando gana ' || sueldo);
elsif (tiempo>5 and tiempo<10) then
sueldo:=540000*0.07;
DBMS_OUTPUT.PUT_LINE('El trabajador ' || emple || 'por llevar ' || tiempo ||
'años trabajando gana ' || sueldo);
elsif(tiempo>10) then
sueldo:=540000*0.10;
DBMS_OUTPUT.PUT_LINE('El trabajador ' || emple || 'por llevar ' || tiempo ||
'años trabajando gana ' || sueldo);
else
DBMS_OUTPUT.PUT_LINE('Ta cucho');
END IF;
END
DECLARE
numero1 NUMBER;
numero2 NUMBER;
numero3 NUMBER;
numero4 NUMBER;
numero5 NUMBER;
numero6 NUMBER;
numero7 NUMBER;
numero8 NUMBER;
numero9 NUMBER;
numero10 NUMBER;
suma NUMBER;
BEGIN
suma:=0;
numero1 :=#
numero2 :=#
numero3 :=#
numero4 :=#
numero5 :=#
numero6 :=#
numero7 :=#
numero8 :=#
numero9 :=#
numero10 :=#
if mod(numero1,2)=0 then
suma:=suma+numero1;
end if;
if mod(numero2,2)=0 then
suma:=suma+numero2;
end if;
if mod(numero3,2)=0 then
suma:=suma+numero3;
end if;
if mod(numero4,2)=0 then
suma:=suma+numero4;
end if;
if mod(numero5,2)=0 then
suma:=suma+numero5;
end if;
if mod(numero6,2)=0 then
suma:=suma+numero6;
end if;
if mod(numero7,2)=0 then
suma:=suma+numero7;
end if;
if mod(numero8,2)=0 then
suma:=suma+numero8;
end if;
if mod(numero9,2)=0 then
suma:=suma+numero9;
end if;
if mod(numero10,2)=0 then
suma:=suma+numero10;
end if;
END;
SOLUCION 2
SET ServerOutput ON;
SET VERIFY OFF;
DECLARE
num NUMBER;
num2 number:=0;
v_numeros number:=0;
sumapares number:=0;
num_v number:=0;
BEGIN
if(MOD(num2,2)=1)then
DBMS_OUTPUT.PUT_LINE('');
else
sumapares:=sumapares+num2;
end if;
end loop;
DBMS_OUTPUT.PUT_LINE('la suma de los pares es: '||sumapares);
END;
/