Your SlideShare is downloading. ×
Primer Informe sistemas
Primer Informe sistemas
Primer Informe sistemas
Primer Informe sistemas
Primer Informe sistemas
Primer Informe sistemas
Primer Informe sistemas
Primer Informe sistemas
Primer Informe sistemas
Primer Informe sistemas
Primer Informe sistemas
Primer Informe sistemas
Primer Informe sistemas
Primer Informe sistemas
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Primer Informe sistemas

207

Published on

Guía de consultas usando Visio - Access / SQL

Guía de consultas usando Visio - Access / SQL

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
207
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. UNIVERSIDAD AUSTRAL DE CHILEFACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS INSTITUTO DE ADMINISTRACIÓN ADMI 273Guía de consultas SQL Integrantes: Valeria Muñoz O. Makarena Ruiz H. Nadia Muñoz B. Profesor: Cristian Salazar C. Asignatura: Sistemas de Información Empresarial Valdivia, 16/04/2012
  • 2. Desarrollo Guía  Modelo de datos:Fuente: Microsoft Visio 2010. Elaboración propia.  Consultas:1) Para obtener todos los registros contenidos en la tabla “CARRERAS” debemos ejecutarla siguiente consulta:SELECT *FROM carreras;El resultado es el siguiente:2) Ahora si queremos saber cuántas carreras (registros) se encuentran en la tablaCARRERAS, debemos usar la función COUNT de SQL, la cual se aplica sobre una sola
  • 3. columna (también se puede usar como argumento el *). Los siguientes ejemplos entregan elmismo resultado:SELECT COUNT (*)FROM carreras;cantidad de carreras Expr1000 5SELECT COUNT (id_carrera)FROM carreras;cantidad de carreras 2 Expr1000 5Ahora si deseamos obtener registros que cumplan cierta condición, usamos la cláusulaWHERE. Esta cláusula nos permite definir una o más de una condición, como se muestra acontinuación, en donde se desean obtener las carreras que tienen como código de carrera(ID_CARRERA) distinto a 1708:SELECT *FROM carrerasWHERE id_carrera <> ‘1708’;En el siguiente ejemplo se muestran todas las carreras, menos civil, solo que esta vez se usael NOMBRE de la tabla CARRERAS para comparar en vez del ID_CARRERA como en elejemplo anterior, para ello se deben usar comillas simples como se muestra a continuación:SELECT *FROM carrerasWHERE nombre <> ‘civil’;El resultado es el siguiente:
  • 4. Revisaremos distintas tipos de consultas sobre este modelo de datos: i. Lista de Estudiantes (Nombre-Apellido-Edad-Fono-Dirección)SELECT e.nombres, e.apellidos, e.edad, e.fono, e.direccionFROM estudiantes eEl resultado es el siguiente: ii. La misma lista de estudiantes, pero ordenada de mayor a menor por la edad.SELECT e.nombres, e.apellidos, e.edad, e.fono, e.direccionFROM estudiantes eORDER BY e.edad DESC;El resultado es el siguiente:
  • 5. iii. A la lista de estudiantes agregamos la información del nombre de la carrera a la cual pertenece cada estudiante.SELECT e.nombres, e.apellidos, e.edad, e.fono, e.direccion, c.nombreFROM estudiantes c, carreras cWHERE c.id_carrera = e.id_carreraORDER BY e.edad DESC;El resultado es el siguiente:
  • 6. iv. El número de carreras que se encuentran registradas en la base de datos.SELECT COUNT (*) as “Numero de carreras”FROM carreras;El resultado es el siguiente: Consulta1"Numero de carreras" 5 v. A la lista de estudiantes, agregamos la información del campus asociado a la carrera a la cual pertenece cada estudiante.SELECT e.nombres, e.apellidos, e.edad, e.fono, e.direccion, c.nombre AS “Nombre carrera”, cs.nombre AS CAMPUSFROM estudiantes e, carreras c, campus csWHERE c.id_carrera = e.id_carreraAND cs.id_campus = c.id_campusORDER BY e.edad DESC;El resultado es el siguiente: vi. A nuestra lista de estudiantes, agregaremos el nombre de la ciudad asociada al campus.SELECT e.nombres,
  • 7. e.apellidos, e.edad, e.fono, e.direccion, c.nombre AS “Nombre carrera”, cs.nombre AS CAMPUS, ci.nombre AS “Nombre ciudad”FROM estudiantes e, carreras c, campus cs, ciudad ciWHERE c.id_carrera = e.id_carreraAND cs.id_campus = c.id_campusAND cs.id_ciudad = ci.id_ciudadORDER BY e.edad DESC;El resultado es el siguiente: vii. Obtenemos la lista de funcionarios (nombre-apellido-rut-edad-dirección- salud) que tengan una edad superior a los 35 años.SELECT f.nombres, f.apellidos, f.rut_func, f.edad, f.direccion, f.saludFROM funcionarios fWHERE f.edad > 35;El resultado es el siguiente:
  • 8. Probar cambiando el operador de comparación por: <>SELECT f.nombres, f.apellidos, f.rut_func, f.edad, f.direccion, f.saludFROM funcionarios fWHERE f.edad <> 35;El resultado es el siguiente:
  • 9.  Crear consultas adicionales:Con SELECT, FROM y WHERE • Obtener una nómina de estudiantes con rut, nombre, apellido, dirección y el código de la carrera a la cual pertenece, considerando solamente aquellos que no estudian comercial (código 1706) ni auditoría (código 1709). La consulta es la siguiente:SELECT e.nombres, e.apellidos, e.direccion, e.rut_est, e.id_carreraFROM estudiantes eWHERE e.id_carrera <>1706AND e.id_carrera <> 1709;El resultado es el siguiente: • Obtener una nómina de funcionarios, con nombre y apellido y salud, que pertenezcan a Fonasa solamente. La consulta es la siguiente:SELECT f.nombres, f.apellidos, f.saludFROM funcionarios fWHERE f.salud = fonasa;El resultado es el siguiente: • Obtener un listado de libros con código y título, cuyo año sea superior a 1900. La consulta es la siguiente:SELECT l.cod_libro, l.titulo,
  • 10. l.agnoFROM libros lWHERE l.agno > 1900;El resultado es el siguiente:Con ORDER BY • Obtener el listado de estudiantes con sus nombres, apellidos, direcciones, fonos y edades, pero estas últimas en orden ascendente. Para ello generamos la consulta:SELECT e.nombres, e.apellidos, e.edad, e.fono, e.direccion, c.nombreFROM estudiantes c, carreras cWHERE c.id_carrera = e.id_carreraORDER BY e.edad ASC;El resultado es el siguiente:
  • 11. • Obtener el listado de libros pertenecientes a todas las bibliotecas, indicando el código del libro, su título, y el año ordenado de forma descendente. La consulta es la siguiente:SELECT cod_libro, titulo, agnoFROM librosORDER BY agno DESC;El resultado es el siguiente:
  • 12. • Obtener el listado de autores indicando su rut, nombre y apellido, ordenados según su rut. La consulta es la siguiente:SELECT rut_autor, nombres, apellidosFROM autoresORDER BY rut_autor;El resultado es el siguiente:Con GROUP BY • Obtener el listado de cantidad de títulos por rut de cada autor. La consulta es la siguiente:SELECT count(titulo), rut_autorFROM librosGROUP BY rut_autor;El resultado es el siguiente: • Obtener el listado de cantidad de títulos por tipo de libro. La consulta es la siguiente:SELECT count(titulo), id_tipo
  • 13. FROM librosGROUP BY id_tipoEl resultado es el siguiente: • Obtener un listado de la cantidad de estudiantes que tienen la misma edad. La consulta es la siguiente:SELECT e.edad, count (*)FROM estudiantes eGROUP BY e.edad;El resultado es el siguiente:Con HAVING • Obtener la cantidad de estudiantes por carrera, agrupados según el código de carrera, considerando sólo a aquellos que pertenecen a la carrera de auditoría (código 1709). La consulta es la siguiente:SELECT e.id_carrera, count (*)FROM estudiantes eGROUP BY id_carrera
  • 14. HAVING id_carrera =1709;El resultado es el siguiente: • Obtener el mismo listado de la cantidad de estudiantes que tienen la misma edad, pero ahora considerando sólo a aquellos que son mayores a 21 años. La consulta es la siguiente:SELECT e.edad, count (*)FROM estudiantes eGROUP BY e.edadHAVING e.edad > 21;El resultado es el siguiente: • Obtener el mismo listado de cantidad de títulos por tipo de libro, pero ahora considerando sólo aquellos que no son científicos (id 4000) ni recreativos (id 3000). La consulta es la siguiente:SELECT count(titulo), id_tipoFROM librosGROUP BY id_tipoHAVING id_tipo <> ‘4000’AND id_tipo <> ‘3000’;El resultado es el siguiente:

×