consultas sql

download consultas sql

If you can't read please download the document

description

dfs

Transcript of consultas sql

Recuperacin de Datos Consultas en SQL ServerPor:Aleksandr Pal Quito Prez.12proposiciones llegamos a la conclusin de quepara un numerondetablas existen-1relaciones.Es necesario trabajar conAlias, cuando se emplean mltiples tablas,para evitar ambigedades, es decir ponerle una identificacin a la tabla,para que en los campos en los cuales se generan la unin con otras tablas,SQLreconozca a que tabla pertenece el campo.Por ejemplo, queremos seleccionar los siguientes campos:Idalumno,Apealumno, Idesp, nomespde las tablas Alumno y Especialidad.Lo primero que se nos ocurrira es esto:SELECTIdalumno, Apealumno, Idesp, nomespFROMAlumno, EspecialidadAl ejecutar esta aplicacin SQL nos responder queIdespes ambiguo, talcomo se muestra:Esto aparece por que en realidadSQLno sabe de que tabla jalar estecampoIdespya que est aparece en dos tablas que sonAlumno,Especialidad, entonces necesitamos indicarle a SQL, a quien perteneceeste campo.Es por esa razn que haremos uso de los Alias(identificadores),eluso de estos alias es como sigue:SELECTIdalumno, Apealumno, b.Idesp, nomespFROM AlumnoASa, EspecialidadASbObservamosEl nuevo cambio en la tablas hemos colocado AlumnoASa,EspecialidadASb, y en el campob.Idesp, la lgica es la siguiente, parab.Idespdecimos queIdesp, pertenece a la tablaEspecialidadque ya quetiene como alias la letrab.Las letrasayb, son cualquier letras para poder identificar, a unatabla obviamente puede hacerse el uso de otras letras. Debemos recordarque los identificadores solamente se colocan en los campos que sonambiguos, es decir en el campo donde excita una relacin o ms entre lastablas. Es por eso que no es necesario Identificar aIdalumno, ya que estecampo no se relaciona en ningn momento con la tablaEspecialidad. Recuperacin de Datos Consultas en SQL ServerPor:Aleksandr Pal Quito Prez.13El resultado de esta sintaxis es la siguiente:Como vemos en esta ocasinSQLnos arroja el siguiente resultado, peroobservemos que todava nos falta algo mas, esto es necesitamos poner lasrelaciones que existen entre estas dos tablas es decir necesitamosestablecer esta relacin:a.Idesp=b.Idesp, lo que hacemos aqu esdecirle que elIdespque tiene la tablaasea igual alIdespde la tablab.esto se logra con la siguiente sintaxis:SELECTIdalumno, Apealumno, b.Idesp, nomespFROM AlumnoASa, EspecialidadASbWHEREa.idesp=b.idespHemos unidos 2 tablas por ende hay una sola relacin:a.idesp=b.idesp Como un segundo ejemplo, necesitamos listar los siguientes campos:IdAlumno, Apealumno, Nomcurso, credito ,ExaParcial, ExaFinal.Solucin.-por peticin del ejemplo es necesario el uso de 3 Tablas, lascuales sonAlumno, Curso, Notas, como debemos de unir 3 tablas,entonces tenemos 2 relaciones entre estas, la solucin se muestra acontinuacin:SELECTa.IdAlumno, Apealumno, Nomcurso, credito ,ExaParcial, ExaFinalFROM AlumnoASa, CursoASc, NotasASnWHEREa.idalumno=n.idalumnoANDc.idcurso=n.idcursoLa relaciones en este ejemplo son:a.idalumno=n.idalumnoAND c.idcurso=n.idcursoAl ejecutar esta sentencia obtenemos: Recuperacin de Datos Consultas en SQL ServerPor:Aleksandr Pal Quito Prez.14Ejemplo 3: necesitamos conocer cual es el total del costo, de la especialidadde cada alumno, para esto debe mostrar los siguientes campos:a.IdAlumno, Apealumno, Nomesp, costo adems se pide ordenarlos porcdigo del alumno.SELECTa.IdAlumno, Apealumno, Nomesp,SUM(costo)ASTotalFROMAlumnoASa, EspecialidadASeWHEREa.idesp=e.idespGROUP BYa.Idalumno,Apealumno, nomespORDER BY