Consultas en sql – 2da entrega - Davis Flores...

23
qwertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwert yuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopa sdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghj klzxcvbnmqwertyuiopasdfghjklz xcvbnmqwertyuiopasdfghjklzxcv bnmqwertyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwe rtyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuio pasdfghjklzxcvbnmqwertyuiopas dfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmqwertyuiopasdfghjk Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA VII CICLO FLORES ARCE, DAVIS PURAY HUAMANI, MIRIAM QUISPE CONDORI, CARMEN ROJAS PURAY, CARLOS

Transcript of Consultas en sql – 2da entrega - Davis Flores...

Page 1: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

qwertyuiopasdfghjklzxcvbnmqw

ertyuiopasdfghjklzxcvbnmqwert

yuiopasdfghjklzxcvbnmqwertyui

opasdfghjklzxcvbnmqwertyuiopa

sdfghjklzxcvbnmqwertyuiopasdf

ghjklzxcvbnmqwertyuiopasdfghj

klzxcvbnmqwertyuiopasdfghjklz

xcvbnmqwertyuiopasdfghjklzxcv

bnmqwertyuiopasdfghjklzxcvbn

mqwertyuiopasdfghjklzxcvbnmq

wertyuiopasdfghjklzxcvbnmqwe

rtyuiopasdfghjklzxcvbnmqwerty

uiopasdfghjklzxcvbnmqwertyuio

pasdfghjklzxcvbnmqwertyuiopas

dfghjklzxcvbnmqwertyuiopasdfg

hjklzxcvbnmqwertyuiopasdfghjk

Consultas en sql – 2da entrega

Ingeniería de Sistemas - UNICA

VII CICLO

FLORES ARCE, DAVIS PURAY HUAMANI, MIRIAM QUISPE CONDORI, CARMEN

ROJAS PURAY, CARLOS

Page 2: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

INDICE

1.- Consulta SELECT, WHERE, FROM

2.- Consulta el (*)

3.- Consulta con condiciones: WHERE=’__’

4.- El uso del DISTINCT

5.- Consulta del uso del ORDER BY

6.- Consulta del uso del ASC, DESC

7.- Consulta de opción AND

8.- Consulta de opción OR

9.- Consulta de opción WHERE-IN

10.- Consulta de opción NOT IN

11.- Consulta de rangos el BETWEEN

12.- Consulta de opción- rangos mediante operadores

13.- Consultas del uso de LIKE,’%’

14.- Consulta de las funciones integradas: COUNT, SUM, AVG, MAX, MIN

15.- Consulta con el uso del RTRIM

16.- Múltiples consultas: utilizando el order by, el count, el where; etc.

17.- El uso del HAVING

18.- El uso del INNER JOIN

19.- El uso del MIN y el MAX

20.- EL MIN, MAX; combinaciones

21.- El uso del AS

Page 3: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

DIVERSAS CONSULTAS

El uso del WHERE, FROM, SELECT

La clausula “SELECT”: especifica que columnas serán vistan en el resultado de la consulta

La clausula “FROM”: especifica que tablas serán seleccionadas

La clausula “WHERE”: especifica que filas serán seleccionadas

SELECT cod_area, descripcion FROM area

EL USO DEL (*)

SELECT *FROM aula

Page 4: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

CONSULTAS CONDICIONALES

SELECT* FROM profesor WHERE apellido= 'Jose'

select cod_pfin, cod_clase from profinal where cod_est= 20101501

EL USO DEL DISTINCT

SELECT DISTINCT NOMBRE, APELLIDO FROM estudiante

SELECT DISTINCT DESCRIPCION, HECHO FROM inasistencia

Page 5: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

EL USO DEL ORDER BY

select nombre, fechnac from estudiante order by nombre, fechnac

EL USO DEL ASC Y DESC

select *from estudiante order by nombre desc, cod_est asc

Page 6: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

EL USO DEL AND

select*from area where cod_area='A009' and descripcion= 'CTA'

EL USO DEL OR

SELECT*FROM nota WHERE valor='10' OR valor='14 '

EL USO DEL IN

SELECT *FROM profesor WHERE nombre IN ('QUISPE CARRIZALES', 'BARRIOS')

Page 7: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

EL USO DEL NOT IN

SELECT * FROM estudiante WHERE nombre NOT IN ('luis fernando','carlos

antonio');

EL USO DEL RANGO - BETWEEN

select*from nota where valor between '11' and '15'

Page 8: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

EL USO DEL AND ENTRE RANGOS

SELECT COD_EST, valor FROM profinal WHERE valor >= 15 AND valor <=18

EL USO DEL LIKE ‘%a’, ‘a%’, ‘%a%’

SELECT * FROM estudiante WHERE nombre LIKE 'Luis%'

select cod_est, tutor from estudiante where direccion like '%meza%'

Page 9: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

select *from logger where pass like '%53'

select cod_tip from logger where pass like '%53'

El USO DEL SUM Y DEL AVG,MIN Y MAX EN CONJUNTO

select SUM (valor) as promedio from profinal where cod_clase='5AARTE'

select SUM (cod_est) as notaSUM,

AVG (cod_est) as notaAVG,

MIN (cod_est) as notaMIN,

MAX(cod_est) as notaMAX

from nota

EL USO DEL COUNT (*)

SELECT COUNT (*) AS CANTIDAD_DE_ALUMNOS FROM estudiante

EL USO DEL COUNT (*) CON EL ALIAS ‘AS’

SELECT COUNT (DISTINCT valor) AS LAS_NOTAS FROM nota

Page 10: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

EL USO DEL RTRIM

SELECT DISTINCT RTRIM (NOMBRE) + ' IN ' + RTRIM (direccion) AS NOM_APEL

FROM estudiante

MULTIPLES CONSULTAS

SELECT COD_CLASE, COD_PRO, COUNT(*) AS CANTIDAD_CLASE FROM clase GROUP BY

cod_clase, cod_pro

Page 11: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

MULTIPLES CONSULTAS CON EL USO DE OPERADORES (<>)

SELECT FECHNAC , COUNT (*) AS PRO_CANT FROM estudiante WHERE cod_est <>

20101505 group by fechnac

order by PRO_CANT

EL USO DEL HAVING

SELECT FECHNAC , COUNT (*) AS PRO_CANT FROM estudiante WHERE cod_est <>

20101505 group by fechnac

having COUNT(*) > 1 order by PRO_CANT

Page 12: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

EL USO DEL SUM CON MULTIPLES CONSULTAS CONDICIONALES

select SUM(valor ) as renuevo from nota where cod_clase in (select

cod_clase from clase where cod_area= 'A001')

SELECT NOMBRE FROM estudiante WHERE cod_est IN (SELECT cod_est FROM aula

WHERE cod_aula IN (SELECT cod_aula FROM area WHERE cod_area= 'A003' AND

descripcion ='MATEMATICA' ))

Page 13: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

EL USO DEL INNER JOIN

SELECT nombre , cod_area FROM profesor, clase WHERE profesor.cod_pro =

clase.cod_pro

SELECT TUTOR, BIMESTRE, cod_pro FROM estudiante, nota,clase WHERE

estudiante.cod_est=nota.cod_est AND nota.cod_clase=clase.cod_clase

Page 14: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

SELECT NOMBRE , cod_aula FROM profesor INNER JOIN clase ON

profesor.cod_pro = clase.cod_pro

EL USO DEL MIN

select MIN (valor) as elmin from nota where bimestre='I'

EL USO DEL MAX

select MAX (valor) as elmax from nota WHERE bimestre= 'II'

Page 15: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

EL USO DEL MIN Y MAX EN MULTIPLES COMBINACIONES

SELECT COUNT (BIMESTRE) FROM NOTA

SELECT MIN (BIMESTRE) AS PERIODO FROM nota WHERE valor ='14'

USO DEL AS

SELECT COUNT (*) AS AREA_FERMIN FROM area

Page 16: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

EJERCICIOS CON ESTAS CONSULTAS

1.- CREACION DE UNA BASE DE DATOS EN CONSOLA.

CREATE DATABASE COLEGIODB

ON

(NAME=COLEGIODB,

FILENAME='C:\COLEGIODB\COLEGIODB.mdf',

SIZE=10MB,

MAXSIZE=20,

FILEGROWTH=2 )

LOG ON

(NAME=AMIGO_LOG,

FILENAME='C:\COLEGIODB\COLEGIODB_log.ldf',

SIZE=10MB,

MAXSIZE=20,

FILEGROWTH=2);

2.- lista de notas de alumnos por curso, nota.

Page 17: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

3.- USANDO LA SENTENCIA SELECT SE USARA PARA VER LA FECHA DE CUMPLEAÑOS DE LOS

DOCENTES.

4.- OBTENER LOS DATOS DE LOS PROFESORES CUYA COLUMNA “DIRECCION” ES NULA

Page 18: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

5.- CON UNA CONSULTA MUESTRA EL NOMBRE Y EDAD DE CADA UNO DE LOS ALUMNOS

(LA EDAD SE CALCULA RESTANDO AL AÑO DE NACIMIENTO 2010).

6.- Con una consulta se concatena el apellido y el nombre de los

estudiantes y se transforma el apellido en mayúscula.

Page 19: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

7.- Seleccionar al estudiante con promedio

final=PF11

select cod_est, cod_clase,VALOR

from profinal

where cod_pfin = 'PF11'

ORDER BY cod_est

COMPUTE SUM(VALOR);

8.-ordenar a los estudiantes por codigo de

promediofinal y por codigo del estudiante sumando

sus promedios finales

select cod_pfin,cod_est, cod_clase,VALOR

from profinal

ORDER BY cod_pfin,cod_est

COMPUTE SUM(VALOR) by cod_pfin;

Page 20: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

9.-seleccionar al estudiante cuyo sexo sea masculino

select sum(valor) as va

from profinal

where cod_pfin ='PF11'(select cod_est from estudiante where

sexo ='M');

10.- contar cuantos profesores enseñan en el colegio

select COUNT

(distinct nombre)

as nombre_prof

from profesor;

Page 21: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

11.- seleccionar y sumar cuantas aulas hay en 5to grado

select seccion,grado,

COUNT(*) as sec_grado

from aula

group by seccion, grado;

12.- SELECCIONAR A LOS ALUMNOS QUE TENGAN UNA CALIFICACION DE

19 EN EL ARE DE COMUNICACIÓN

select distinct e.nombre as Alumno, ar.descripcion as Area, n.valor as

Calificacion

from estudiante as e

inner join nota as n on e.cod_est=n.cod_est

inner join aula as a on e.cod_aula=a.cod_aula

inner join clase as c on a.cod_aula=c.cod_aula

inner join area as ar on c.cod_area=ar.cod_area

where descripcion ='COMUNICACION' AND valor = '19';

13.- seleccionar todos los doscentes que enseñan el area de

matematica o comunicación

select DISTINCT p.nombre as Profesor ,ar.descripcion

from profesor as p

INNER JOIN clase as c on p.cod_pro=c.cod_pro

inner join area as ar on c.cod_area=ar.cod_area

where descripcion = 'MATEMATICA'or

descripcion = 'COMUNICACION'

order by nombre;

Page 22: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

14.- Seleccionar la relacion de alumnos matriculados en el

area de INGLES

SELECT distinct e.nombre as alumno, ar.descripcion

from estudiante as e

inner join nota as n on e.cod_est=n.cod_est

inner join clase as c on n.cod_clase=c.cod_clase

inner join area as ar on c.cod_area=ar.cod_area

where descripcion='INGLES'

Page 23: Consultas en sql – 2da entrega - Davis Flores Arcedavizhito.wikispaces.com/file/view/CONSULTAS... · Consultas en sql – 2da entrega Ingeniería de Sistemas - UNICA ... from estudiante

15.- Seleccionar los estudiantes del 5to grado “C” que hayan nacido en el año 1993 select distinct e.nombre as alumno,e.fechnac as nacimiento ,a.grado as

Grado, a.seccion as Sección

from estudiante as e inner join aula as a

on e.cod_aula=a.cod_aula

where grado='5' and seccion='c'

and fechnac between '1993/01/01' and '1993/12/31'

order by nombre;

16.- Seleccionar a todos los alumnos ordenados por promedio final descendente select e.nombre as alumno, pr.valor as promedio, pr.cod_clase

from estudiante as e inner join profinal as pr on e.cod_est=pr.cod_est

order by valor desc;