Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/INAEM2017/BasesDatos/SQL/ejercicios»

De WikiEducator
Saltar a: navegación, buscar
(Ejercicios de bases de datos relacionales)
(Ejercicios Sentencias Select)
Línea 204: Línea 204:
 
===Ejercicios Sentencias DCL===
 
===Ejercicios Sentencias DCL===
 
===Ejercicios Sentencias Select===
 
===Ejercicios Sentencias Select===
 +
====Ejercicios select/from/where con funciones ====
 +
<br />
 +
{{MRM_Actividad|Title=Realiza las siguientes consultas|
 +
 +
[[Archivo:ej1_query.png]]
 +
*En este caso JOB_ID nos da el tipo de trabajo
 +
Secretari@ es el tipo '''''ST_CLERK'''''
 +
<source lang=sql>
 +
mysql> SELECT * 
 +
      FROM EMPLOYEES
 +
      WHERE JOB_ID ="ST_CLERK"     
 +
            AND     
 +
            HIRE_DATE>"1997-12-31";
 +
</source>
 +
<hr />
 +
[[Archivo:ej2_query.png]]
 +
 +
<source lang=sql>
 +
SELECT LAST_NAME, JOB_ID,SALARY, COMMISSION_PCT
 +
FROM EMPLOYEES
 +
WHERE COMMISSION_PCT IS NOT NULL
 +
ORDER BY LAST_NAME DESC;
 +
</source>
 +
 +
<hr />
 +
[[Archivo:ej3_query.png]]
 +
<source lang=sql>
 +
SELECT 'El salario de '||Last_name||
 +
      'va a ser con un incremento del 10% de '||
 +
      round(Salary *1.10) ||
 +
      ' dólares' as "Nuevo Salario"
 +
FROM EMPLOYEES
 +
where COMMISSION_pCT IS NULL
 +
 +
</source>
 +
<hr />
 +
[[Archivo:ej4_query.png]]
 +
<source lang=sql>
 +
select last_name,
 +
      trunc(months_between(sysdate, hire_date)/12) as "años",
 +
      trunc(mod(months_between(sysdate, hire_date),12))as "meses"
 +
from employees
 +
order by hire_date;
 +
</source>
 +
<hr />
 +
[[Archivo:ej5.png]]
 +
<source lang=sql>
 +
select *
 +
from empleados
 +
where substr(last_name,1,1) in ('J', 'K', 'L', 'M')
 +
 +
</source>
 +
<hr />
 +
[[Archivo:ej6.png]]
 +
<source lang=sql>
 +
 +
select last_name, salary,
 +
        decode (commission_pct,NULL, 'No' ,
 +
                              'Yes') as "comisión"
 +
from employees
 +
 +
</source>
 +
<hr />
 +
[[Archivo:ej7.png]]
 +
<source lang=sql>
 +
 +
 +
select department_name, location_id,job_id, salary
 +
from departments d, employees e
 +
where d.department_id = e.department_id
 +
      and
 +
      location_id = '&localizacion';
 +
</source>
 +
<hr />
 +
[[Archivo:ej8.png]]
 +
<source lang=sql>
 +
SELECT COUNT(*)
 +
FROM employees
 +
WHERE last_name LIKE '%n';
 +
--or
 +
SELECT COUNT(*)
 +
FROM employees
 +
WHERE SUBSTR(last_name, -1) = 'n';
 +
</source>
 +
<hr />
 +
[[Archivo:ej10.png]]
 +
<source lang=sql>
 +
SELECT DISTINCT job_id
 +
FROM employees
 +
WHERE department_id IN (10, 20);
 +
</source>
 +
<hr />
 +
[[Archivo:ej12.png]]
 +
<source lang=sql>
 +
SELECT last_name, hire_date
 +
FROM  employees
 +
WHERE TO_CHAR(hire_date, 'DD') < 16;
 +
</source>
 +
<hr />
 +
[[Archivo:ej13.png]]
 +
<source lang=sql>
 +
SELECT last_name, salary, TRUNC(salary, -3)/1000
 +
FROM  employees;
 +
</source>
 +
<hr />
 +
[[Archivo:ej14.png]]
 +
<source lang=sql>
 +
SELECT e.last_name, m.last_name manager, m.salary,
 +
j.grade_level
 +
FROM  employees e JOIN employees m
 +
      ON    e.manager_id = m.employee_id
 +
    JOIN job_grades j
 +
    ON  m.salary BETWEEN j.lowest_sal AND j.highest_sal
 +
    AND  m.salary > 15000;
 +
</source>
 +
<hr />
 +
[[Archivo:ej21.png]]
 +
<source lang=sql>
 +
SELECT last_name, TO_CHAR(hire_date, 'Month DD') BIRTHDAY
 +
FROM employees
 +
ORDER BY TO_CHAR(hire_date, 'DDD');
 +
</source>
 +
<hr />
 +
}}
 +
 
===Ejercicios Sentencias Join===
 
===Ejercicios Sentencias Join===
 
===Ejercicios Sentencias Group by===
 
===Ejercicios Sentencias Group by===
 
===Ejercicios Sentencias de subconsultas===
 
===Ejercicios Sentencias de subconsultas===

Revisión de 22:18 14 may 2018


Ejercicios de bases de datos relacionales



Icon activity.jpg
Crea conexiones
Crea una conexión con oracle usando los parámetros facilitados en clase
Crea una conexión en línea de comandos con mysql
Crea una conexión usando phpmyadmin con el gestor de bases de datos mysql



Ejecuta los siguientes ficheros tanto en mysql como en oracle


Fichero SQL de inserción

Ejercicios Sentencias DCL

Ejercicios Sentencias Select

Ejercicios select/from/where con funciones



Icon activity.jpg
Realiza las siguientes consultas

Ej1 query.png

  • En este caso JOB_ID nos da el tipo de trabajo
Secretari@ es el tipo ST_CLERK
mysql> SELECT *  
       FROM EMPLOYEES 
       WHERE JOB_ID ="ST_CLERK"       
             AND       
             HIRE_DATE>"1997-12-31";

Ej2 query.png

SELECT LAST_NAME, JOB_ID,SALARY, COMMISSION_PCT 
FROM EMPLOYEES
WHERE COMMISSION_PCT IS NOT NULL 
ORDER BY LAST_NAME DESC;

Ej3 query.png

SELECT 'El salario de '||Last_name||
       'va a ser con un incremento del 10% de '||
       round(Salary *1.10) ||
       ' dólares' AS "Nuevo Salario"
FROM EMPLOYEES
WHERE COMMISSION_pCT IS NULL

Ej4 query.png

SELECT last_name, 
       trunc(months_between(sysdate, hire_date)/12) AS "años",
       trunc(MOD(months_between(sysdate, hire_date),12))AS "meses"
FROM employees
ORDER BY hire_date;

Ej5.png

SELECT *
FROM empleados
WHERE substr(last_name,1,1) IN ('J', 'K', 'L', 'M')

Ej6.png

SELECT last_name, salary, 
         decode (commission_pct,NULL, 'No' ,
                               'Yes') AS "comisión"
FROM employees

Ej7.png

SELECT department_name, location_id,job_id, salary
FROM departments d, employees e
WHERE d.department_id = e.department_id
       AND
       location_id = '&localizacion';

Ej8.png

SELECT COUNT(*)
FROM employees
WHERE last_name LIKE '%n';
--or
SELECT COUNT(*)
FROM employees
WHERE SUBSTR(last_name, -1) = 'n';

Ej10.png

SELECT DISTINCT job_id
FROM employees
WHERE department_id IN (10, 20);

Ej12.png

SELECT last_name, hire_date
FROM  employees
WHERE TO_CHAR(hire_date, 'DD') < 16;

Ej13.png

SELECT last_name, salary, TRUNC(salary, -3)/1000
FROM  employees;

Ej14.png

SELECT e.last_name, m.last_name manager, m.salary,
j.grade_level
FROM  employees e JOIN employees m
      ON    e.manager_id = m.employee_id
     JOIN job_grades j
     ON   m.salary BETWEEN j.lowest_sal AND j.highest_sal
     AND  m.salary > 15000;

Ej21.png

SELECT last_name, TO_CHAR(hire_date, 'Month DD') BIRTHDAY
FROM employees
ORDER BY TO_CHAR(hire_date, 'DDD');




Ejercicios Sentencias Join

Ejercicios Sentencias Group by

Ejercicios Sentencias de subconsultas