Ejercicios SQL quique_第1頁
Ejercicios SQL quique_第2頁
Ejercicios SQL quique_第3頁
Ejercicios SQL quique_第4頁
Ejercicios SQL quique_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、tema 11.-sentencia select está mal construida, arréglala y ejecútala para que funcione de forma la siguiente correcta. guarda la consulta con el nombre p1q2.sql:select empno, ename salary x 12 annual salaryfrom emp;solución:select empno, ename, sal*12 as "annual salary"

2、from emp2.-muestra la estructura de la tabla dept. selecciona todos los datos de la tabla dept y guarda la consulta con el nombre p1q2.sql.solución:select *from dept3.-muestra la estructura de la tabla emp. crea una consulta para mostrar el nombre, el trabajo, la fecha de contrato y el núm

3、ero de empleado para cada empleados con el número de empleado apareciendo en primer lugar. guarda la sentencia con el nombre p1q3.sql.solución:select empno, ename, hiredatefrom emp4.-crear una consulta que muestre los distintos trabajos de la tabla emp. guarda la consulta con el nombre p1q

4、4.sqlsolución:select distinct(job)from emp5.-columna el título emp#, en la segunda employee, en la tercera job y en la última hire date. guarda la consulta modifica la consulta del ejercicio 3 de manera que se muestre en la cabecera de la primera con el nombre p1q5.sql.solución:s

5、elect empno "emp#", ename "employee", job"job", hiredate "hire date"from emp6.-muestra el nombre concatenado con el trabajo, separado por una coma y un espacio, y el nombre de la columna será empleado y cargo.solución:select ename|', '|job as

6、 "empleado y cargo"from emp;7.-crear una consulta que muestra todos los datos de la tabla emp en una sola columna. separa cada una de las columnas que has de concatenar, con una coma. ponle como alias a la columna que has seleccionado the output.solución:select empno|', '|enam

7、e|', '|job|', '|mgr|', '|hiredate|', '|sal|', '|comm|', '|deptno "the output"from emp;tema 21.-crear una consulta para mostrar el nombre y el salario de los empleados que ganan más de 2850. guarda la consulta en el fichero p2q1.sql.soluc

8、ión:select ename, sal from empwhere sal >28502.-crear una consulta para mostrar el número de empleado, el nombre y el número de departamento del empleado cuyo número es el 7566. guarda la consulta en el fichero p2q2.sql.solución:select empno, ename, deptnofrom empwhere em

9、pno=75663.-modifica el ejercicio p2q1.sql para mostrar el nombre y el salario de todos los empleados cuyo salario no está en el intervalo comprendido entre 1500$ y 2850$. guarda la nueva consulta con el nombre p2q3.sql.solución:select ename, salfrom empwhere sal <1500 or sal >2850ord

10、er by sal4.-mostrar el nombre, el cargo y la fecha de contrato de los empleados contratados entre el 20 de febrero de 1981 y el 1 de mayo de 1981. ordena la consulta ascendentemente por la fecha de contrato. guardar la consulta en el fichero p2q4.sql.solución:select ename, job, hiredatefrom emp

11、where hiredate >= '20/02/81' and hiredate <= '1/05/81'order by hiredate asc5.-muestra el nombre, el número de departamento de todos los empleados del departamento 10 y 30, ordénalos alfabéticamente por el nombre. guarda la consulta en el fichero p2q5.sql.soluci&#

12、243;n:select ename, deptnofrom empwhere deptno = 10 or deptno = 30order by ename asc6.-muestra el nombre y el salario de los empleados que ganen más de 1500$ y que estén en el departamento 10 o 30. etiqueta las columnas como empleado y salario mensual, respectivamente. guarda la consulta c

13、on el nombre p2q6.sqlsolución:select ename "empleado", sal "salario mensual" from empwhere sal > 1500 and (deptno = 10 or deptno = 30)order by ename7.-muestra el nombre y la fecha de contrato de todos los empleados que fueron contratados en 1982. guardar la consulta con e

14、l nombre p2q7.sql.solución:select ename, hiredate from empwhere hiredate like '%82'8.-muestra el nombre y el cargo de todos los empleados que no tengan jefes. guardar la consulta con el nombre p2q8.sql.solución:select ename, job from empwhere mgr is null9.-muestra el nombre, el sal

15、ario y la comisión de todos los empleados que ganan comisiones. ordena los datos descendentemente por el salario y las comisiones. guardar la consulta con el nombre p2q9.sql.solución:select ename, sal, comm from empwhere not comm is null10.-muestra el nombre de todos los empleados cuya ter

16、cera letra de sus nombres es una a. guardar la consulta con el nombre p2q10.sql.solución;select ename from empwhere ename like '_a%'11.-muestra el nombre de todos los empleados que tienen dos ls en su nombre y pertenecen al departamento 30 o su manager es 7782. guardar la consulta con e

17、l nombre p2q11.sql.solución:select ename from empwhere ename like '%l%l%'12.-muestra el nombre, el cargo y el salario de todos los empleados cuyo cargo sea clerk o analyst y su salario no sea igual a 1000$, 3000$ o 5000$. guardar la consulta con el nombre p2q12.sql.solución:select

18、ename, job, sal from empwhere job='clerk' or job='analyst' and not sal in(1000,3000,5000)tema31.-escribir una consulta que muestre la fecha actual. etiqueta la columna como fecha.solución:select sysdate fechafrom emp2.-mostrar el número de empleado, el nombre, el salario y

19、el salario incrementado en un 15% expresado como un número entero. etiqueta la columna como nuevo salario.solución:select empno, ename, round(sal+(sal*15/100) "nuevo salario"from emp3.-modifica la consulta anterior y añade una columna adicional que reste el salario anterior

20、del salario nuevo.solución:select empno, ename, round(sal+(sal*15/100) "nuevo salario", round(sal+(sal*15/100)- sal aumentofrom emp4.-muestra el nombre de empleado, la fecha de contrato y la fecha de revisión del salario, que será el primer lunes después de los seis mes

21、es de haber sido contratado. etiqueta la columna como revisión. formatea las fechas para que a parezcan de la forma.”domingo, 8 de septiembre de 1981”.solución:select ename, hiredate, to_char(next_day(add_months(hiredate,6),'lunes'), 'day, dd "de" month "de"

22、 yyyy') revisión from emp5.-para cada empleado mostrar el nombre de empleado y calcula el número de meses entre hoy y la fecha en la cual el empleado fue contratado. etiqueta la columna months_worked. ordena los resultados por el número de meses que llevan empleados. redondear hac

23、ia arriba (hacia el número entero superior) el número de meses obtenido.solución:select ename, round(sysdate - hiredate)/31) months_work from emporder by months_work desc6.-escribe una consulta que produzca lo siguiente para cada empleado: el nombre concatenado a “gana” y al salario y

24、 a “mensualmente pero quiere ganar” <salario>. etiquetar la columna como “salario soñado”.solución:select ename |' gana '|sal|' mensualmente pero quiere ganar '|sal*2 as "salario soñado"from emp7.-crear una consulta para mostrar el nombre y el salario d

25、e todos los empleados. formatea el salario para que tenga una longitud de 15 caracteres. rellena los espacios en blanco con el signo del dólar y etiqueta la columna como salario.solución:select ename,lpad(sal,15,'$') salariofrom emp8.- escribe una consulta que permita mostrar el no

26、mbre de empleado con la primera letra en mayúscula y todas las otras en minúscula. mostrar también la longitud de sus nombres para todos los empleados cuyo nombre comience por j, a o m.solución:select initcap(ename) "nombres", length(ename) "longitud"from emp

27、where ename like 'a%' or ename like 'm%'or ename like 'j%'9.- mostrar el nombre, la fecha de contrato y el día de la semana en el cual cada empleado fue contratado. ordena los resultados por el día de la semana.solución:select ename, hiredate, to_char (hiredate

28、,'day') "dia contratado"from emporder by "dia contratado" desc10.-crear una consulta que muestre el nombre de empleado y la comisión de cada uno de ellos. si el empleado no gana comisión, pon en la salida “sin comisión”. etiqueta la columna con el nombre “c

29、omisión recibida”.solución:select ename, nvl(to_char(comm),'sin comision') "comisiones"from emptema 41.- escribir una consulta para mostrar el nombre, el número de departamento y el nombre de departamento para todos los empleados.solución:select emp.ename,emp.de

30、ptno, dept.dnamefrom emp,deptwhere emp.deptno=dept.deptno2.- escribir una consulta que muestre los diferentes trabajos y la localización del departamento 30.solución:select emp.job,dept.locfrom emp, deptwhere emp.deptno=dept.deptno and emp.deptno=30group by emp.job, dept.loc3.- escribir un

31、a consulta para mostrar el nombre de empleado, el nombre de departamento y la localización de todos los empleados que ganan una comisión.solución:select emp.ename,dept.dname,dept.locfrom emp, deptwhere emp.deptno=dept.deptno and not m is null4.- mostrar el nombre de empleado y el nomb

32、re de departamento de todos los empleados que tienen una “a” en sus nombres.solución:select emp.ename, dept.dnamefrom emp, deptwhere emp.deptno=dept.deptno and emp.ename like '%a%'5.- escribir una consulta para mostrar el nombre, el cargo, el número de departamento y el nombre del

33、departamento de todos los empleados que trabajen en dallas.solución:select emp.ename, emp.job, dept.deptno, dept.dnamefrom emp, deptwhere emp.deptno=dept.deptno and dept.loc='dallas'6.- mostrar el nombre de empleado, el número de empleado, el nombre del manager de cada empleado y e

34、l número de jefe de su empleado, de todos los trabajadores de la tabla emp.solución:select trabajador.ename "trabajador", trabajador.empno "nº trabajador", jefe.ename "jefe", trabajador.mgr "nº jefe"from emp trabajador, emp jefewhere trabaj

35、ador.mgr=jefe.empno7.- modifica el ejercicio anterior para mostrar todos los empleados incluyendo a aquellos que no tengan jefe.solución:select trabajador.ename "trabajador", trabajador.empno "nº trabajador", jefe.ename "jefe", trabajador.mgr "nº jef

36、e"from emp trabajador, emp jefewhere trabajador.mgr=jefe.empno or jefe.mgr is null8.- crear una consulta para mostrar el nombre de empleado, el número de departamento y todos los empleados que trabajen en el mismo departamento, para cada uno de los empleados existentes en la tabla emp.solu

37、ción:select emp.ename,dept.deptnofrom emp,deptwhere emp.deptno=dept.deptno order by dept.dname9.- crear una consulta para mostrar el nombre de empleado, el cargo, el nombre de departamento el salario y el grado del salario para todos los empleados de la tabla emp.solución:select emp.ename,

38、 emp.job, dept.dname,emp.sal,salgrade.gradefrom emp,dept,salgradewhere emp.deptno=dept.deptno and (emp.sal between salgrade.losal and salgrade.hisal)order by salgrade.grade desc10.- crear una consulta para mostrar el nombre y la fecha de contrato de cualquier empleado que haya sido contratado despu&

39、#233;s de blake.solución:select fpos.ename,fpos.hiredatefrom emp fant,emp fposwhere fant.ename='blake' and fant.hiredate <= fpos.hiredateorder by fpos.hiredate11- crear una consulta para mostrar el nombre de empleado concatenado con la representación de su salario que será

40、simbolizado a través del carácter *. por cada 100 dólares que gane cada trabajador se ha de mostrar un *. dale a la columna obtenida el nombre “empleados y salarios”.solución:select ename|' '|lpad('*',sal/100,'*') "empleados y salario"from emptem

41、a51.- mostrar el máximo, el mínimo, el sumatorio y la media del salario de todos los empleados. etiqueta las columnas como máximo, mínimo, sumatorio y promedio, respectivamente. redondea los resultados.solución:select max(sal) maximo, min (sal) minimo, round(sum(sal) suma ,

42、round(avg(sal) promediofrom emp2.- modifica el ejercicio anterior para que muestre el mínimo, el máximo, la suma y la media del salario para cada tipo de trabajo.solucion:select job,max(sal) maximo, min (sal) minimo, round(sum(sal) suma , round(avg(sal) promediofrom empgroup by job3.- escr

43、ibir una consulta para mostrar el número de trabajadores con el mismo trabajosolución:select job,count(job) "nº de trabajadores"from empgroup by job4.- determinar el número de jefes que hay en la tabla emp. nombre la columna como “número de jefes”.solucion:select c

44、ount(*) "nº de jefes"from emp where empno in (select mgr from emp)5.- escribe una consulta que permita mostrar la diferencia entre el mayor y el menor de los salarios. etiqueta la columna como “diferencia de salarios”.solución:select (max(sal) - min(sal) "diferencia salarios

45、"from emp6.- mostrar el número de manager y el salario de los empleados peor pagados para cada manager. excluye a todos los empleados cuyo manager id no sea conocido. excluye cualquier grupo en el cual el salario mínimo sea menor de 1000. ordena los datos por la columna salario en ord

46、en descendente.solución:select mgr jefe, min(sal) salario_minimofrom empwhere mgr not like ' 'having min(sal) >= 1000group by mgr7.- escribe una consulta que muestre el nombre de departamento, la localización, el número de empleados y la media del salario de todos los emple

47、ados de cada departamento. etiqueta las columnas con un nombre descriptivo.solución:select dept.dname "nombre departamento", dept.loc "ciudad", count(emp.empno) "nº de empleados", round(avg(sal) "media de salario"from dept,empwhere emp.deptno=dept.de

48、ptnogroup by dept.dname, dept.loc8.- crear una consulta para mostrar el número total de empleados y de ese total se desea saber cuales fueron contratados en 1980, 1981, 1982 y 1983. etiqueta las columnas con un nombre descriptivo.solución:select count(empno) total, count(decode(to_char(hir

49、edate,'yyyy'),'1980',count(to_char(hiredate,'yyyy')"1980", count(decode(to_char(hiredate,'yyyy'),'1981',count(to_char(hiredate,'yyyy') "1981",count(decode(to_char(hiredate,'yyyy'),'1982',count(to_char(hiredate,'y

50、yyy') "1982",count(decode(to_char(hiredate,'yyyy'),'1983',count(to_char(hiredate,'yyyy') "1983"from empgroup by hiredate,empno9.- crear una consulta que muestre los diferentes cargos que existen en la empresa. además para cada cargo se desea saber

51、 la suma de todos los salarios para los departamentos 10, 20 y 30.solución:select job, sum(decode(deptno,'10',sal,0) detp10, sum(decode(deptno,'20',sal,0) detp20, sum(decode(deptno,'30',sal,0) detp30, sum(decode(job,'salesman',sal,0, job,'clerk',sal,0, jo

52、b,'president',sal,0, job,'manager',sal,0, job,'analyst',sal,0) total from empgroup by jobtema 61.- escribe una consulta que muestre el nombre de empleado y la fecha de contrato de todos los empleados que trabajen en el mismo departamento que blake. excluye a blake.solució

53、;n:select ename,hiredatefrom empwhere deptno=(select emp.deptno from emp where emp.ename='blake') and ename <>(select ename from emp where ename='blake')2.- crear una consulta para mostrar el número de empleado y el nombre de todos los empleados que ganan más que la m

54、edia del salario. ordena los resultados en orden descendente por el campo salario.solución:select empno, ename, salfrom empwhere sal > (select round(avg(sal) from emp)order by sal desc3.- escribe una consulta que permita mostrar el número de empleado y el nombre de todos los empleados q

55、ue trabajan en un departamento con empleados cuyo nombre contenga una t.solución:select empno, enamefrom empwhere ename like '%t%'4.- muestra el numero de empleado, el nombre, el número de departamento y el cargo de todos los empleados que trabajan en dallas.solución:select em

56、p.empno,emp.ename,dept.deptno,emp.jobfrom emp,deptwhere dept.deptno=emp.deptno and dept.loc=(select loc from dept where loc='dallas')5.- muestra el nombre de empleado y el salario de todos los empleados que sean subordinados directos de kingsolución:select ename,salfrom empwhere mgr=(se

57、lect empno from emp where ename='king')6.- mostrar el número de departamento, el nombre, y el cargo de todos los empleados que trabajan en el departamento sales.solución:select emp.deptno,emp.ename,emp.salfrom emp,deptwhere dept.deptno=emp.deptno and dept.dname=(select dname from d

58、ept where dname='sales')tema 71.- escribe una consulta para mostrar el nombre, el número de departamento, y el salario de cualquier empleado cuyo número de departamento y el salario coincidan ambos con el número de departamento y el salario de cualquiera de los empleados que g

59、anan una comisión.solución:select ename, deptno, salfrom emp where (deptno, sal) in (select deptno, sal from emp where not comm is null)2.- mostrar el nombre de empleado, el nombre del departamento y el salario de cualquier empleado cuyo salario y la comisión coincidan ambos con el salario y la comisión de cualquiera de los empleados que trabajan en dallassolución:select e

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論