Vous êtes sur la page 1sur 25

V El lenguaje de consulta estructurado (SQL)

es un lenguaje de bases de datos


normalizado, utilizado por los diferentes
motores de bases de datos para realizar
determinadas operaciones sobre los datos
o sobre la estructura de los mismos. Pero sin
embargo cada motor de bases de datos
tiene sus peculiaridades y lo hace diferente
de cada motor, por lo tanto el lenguaje
SQL normalizado (ANSI) no tendrá las
misma respuesta en los diferentes motores
de bases de datos.
V Esta compuesto por comandos,
clausulas, operadores y funciones de
agregado. Estos elementos se combinan
en las instrucciones para crear,
actualizar y manipular las bases de
datos.
V Las sentencias SQL se dividen,
principalmente en las siguientes
categorías:
¾ L que permiten crear y definir nuevas
bases de datos, campos e índices.
¾  L que permiten generar consultas para
ordenar, filtrar y extraer datos de la base de
datos.
V Seleccionan, manipulan o manejan los
datos en los objetos de los esquemas ya
existentes, esto permite hacer:
¾ ostrar los datos de una o mas tablas, o de una
o mas vistas.
¾ odificar los valores de atributos en filas
existentes.
¾ Eliminar filas de tablas o vistas.
¾ Agregar nuevas filas a una tabla o vista.
¾ Bloquear una tabla o vista, limitando
temporalmente el acceso de otros usuarios.
¾ Ver el plan de ejecución de una sentencia SQL.
V efinen, modifican o alteran la
estructura y eliminan objetos del
esquema:
¾ ¦rear, alterar o modificar y eliminar objetos y
otras estructuras de bases de datos.
¾ Renombrarlas.
¾ Eliminar los datos del objeto.
¾ Obtener estadísticas.
¾ Autorizar y revocar privilegios y roles.
V Esta instrucción la utilizamos para
obtener información de la base de
datos, nos permite sacar reportes y es el
principal comando. Tiene otras
aplicaciones que veremos mas
adelante.
Select [atributos que deseamos mostrar]
Into [variable]
From [tablas utilizadas]
Where [condiciones de filtrado]
Group by [atributos de agrupación]
Having [condiciones sobre los grupos]

Ejemplos:
select id_rol from rol;
select * from rol;
V istinct, devuelve solamente filas únicas.
V TOP n [porcentaje], devuelve solamente
las n primeras filas o el porcentaje.

Select distinct nombre


From usuario
Select top 5 nombre
From usuario
Select top 50 percent id-rol
From rol

Veamos los alias:

Select id_rol as ´Rolµ


From rol
V Función que retorna el aximo
Use sueldos
go
Select AX(salario) as ´ ejor Pagadoµ
From salarios
go
V in, selecciona el mínimo
Use sueldos
go
Select IN(salario) as ´Peor Pagadoµ
From salarios
go
V Order By
Use sueldos
go
Select emp_id, salario as ´Sueldo Pagadoµ
From salarios
Order by salario
go
V Se utiliza para especificar las tablas de
las cuales se van a extraer o utilizar
datos. En la clausula FRO podemos
utilizar tablas derivadas, combinaciones
y alias.

Ejemplo sencillo:
Select * FRO rol
V Se utiliza alias por motivos de flojera, en
realidad abreviación y lo utilizamos
cuando utilizamos la misma tabla
muchas veces.

Select r.*
from relacionconnombrelargo as r
Select e.cod_empleado, e1.cod_empleado
From Empleado e, Empleado e1
Where e.fecha_nac=e1.fecha_nac
V También lo utilizamos para modificar las
cabeceras del resultado, veamos:

select id_rol as Rol


from rol;

En el resultado de la consulta, la
cabecera id_rol sera cambiada por Rol.
V Se pueden utilizar también consultas y
asignándoles un alias para luego
utilizarlas en la consulta principal, es una
forma alternativa a utilizar sub consultas.

Select id_empleado
from Empleado e, (Select id_empleado
from Ventas) as v
where e.id_empleado <> v.id_empleado
¾ ‰ 
¾ ‰ 


 
¾  ‰ 


 
¾    
¾  


¾  


¾   

   
¾ ! " # $

 
¾ % & # $
# '
¾ ()%% 

*
¾ + ,  
 #
 '
V ¦
# 






 
 - .# 

#


 
- /  
 #


(%¦
- 
0# 
12+#

320#  !455566777788
999::77778";
¾ % &$ -<-#
=
a Ë
 
  

    
a 0  <
  / 
a >?
 
  /  

 


$



>@#?
>
#?
a >A? ¦ /  

B
 

(%¦
- 12+#

32
- % &4CË8;
¾ (  -<

Ë

0 
   
D
(%¦
- 12+#

32
- % &4CD0Ë8;
a  



- 
  
C0
¦
# 
 -

  


-

   


(%¦
- 

12+#

32
EFFFE7FF;
a  -

#

 

a +2 ,  
2)
a +  
 '
¾ @ 
   G

# 


#  '
+ +2
!@   
# 
"
V Group by se utiliza para agrupar filas y
sacar datos de ellas, como por ejemplo:

Select d.departamento_id, sum(s.salario),


s.empleado_id
From departamento as d, salarios as s
Group by d.departamento
V Having se utiliza de manera parecida
que el where, solo que las condiciones
del having se aplican a los grupos:
Select d.departamento_id, sum(s.salario),
s.empleado_id
From departamento as d, salarios as s
Group by d.departamento
Having sum(s.salario) > 20000

Vous aimerez peut-être aussi