Está en la página 1de 25

Lenguaje Estructurado de Consultas

(Structured Query Language – SQL)


SQL
Lenguaje SQL
Contenidos

 Que es SQL ?
Estructura de SQL
Instrucciones DML
Instrucciones DDL
Funciones
Diccionario de Datos
Procedimientos Almacenados
Ejercicio de Aplicacion
Lenguaje SQL
Que es SQL ???

•Es un Lenguaje estándar de alto nivel


con el cual los DBMS interactúan con las
aplicaciones del usuario.
•Su nombre es la cicla de “Structured
Query Language”, que traducido al
español significa : Lenguaje de Consultas
Estructurado.
Lenguaje SQL
Estructura de SQL

SQL clasifica sus instrucciones en de 2 tipos,


de acuerdo al impacto de ellas sobre la Base
de Datos :

• De Definición : DDL (Data Definition Language)


• De Manipulación :DML (Data Manipulation
Language).
• Querys: Consultas a la Base de Datos.
Lenguaje SQL
Instrucciones DML

Estas instrucciones actuaran sobre las tablas de la


Base de Datos que administra el DBMS. Entre estas
instrucciones se encuentran:

•· INSERT: Agrega tuplas en una tabla


•· SELECT: Consulta tuplas de una tabla
•· UPDATE: Actualiza tuplas de una tabla
•· DELETE: Borra tuplas de una tabla
Lenguaje SQL
Instrucciones DML
Select

Instrucción que se define como la “estrella” por su


versatilidad y mayor uso en las funciones de extraccion de
datos de las BD
Lenguaje SQL
Instrucciones DML

Sintaxis y opciones

SELECT [DISTINCT ] lista_elementos_selección


FROM lista_referencias_tabla
[ WHERE expresión_condicional ]
[ GROUP BY lista_columnas ]
[ HAVING expresión_condicional ]
[ ORDER BY lista_columnas ]
Lenguaje SQL
Instrucciones DML

Select distinct

SELECT [DISTINCT ] lista_elementos_selección

•Se eliminan las líneas que resultan duplicadas.


Lenguaje SQL
Instrucciones DML
Select Group by

[ GROUP BY lista_columnas ]

• Las líneas resultantes se reagrupan según los valores


presentes en las columnas especificadas en la cláusula
GROUP BY.

• Líneas con valores iguales se unen en una única línea.

• Las columnas no comprendidas en la cláusula tienen


que comprender expresiones con funciones de
agregación (como por ejemplo AVG, que calcula la
media) que, por tanto, se calculan produciendo un único
valor para cada grupo.
Lenguaje SQL
Instrucciones DML
Select Having

[ HAVING expresión_condicional ]

• Del resultado se eliminan las líneas que no satisfacen la


expresión condicional de la cláusula HAVING.
Order by

ORDER BY nombre_columna [ ASC | DESC ] [ ,


nombre_columna [ ASC | DESC ] ... ]

• Las líneas del resultado se ordenan según los valores


presentes en las columnas especificadas en la cláusula.
Lenguaje SQL
Instrucciones DML
Select Into

• Permite insertar los resultados de un Query (Select) en una


tabla de destino.
• La tabla de destino debe existir y tener la estructura
apropiada para recibir los datos.
• Sintaxis:

Select <lista de campos> Into <tabla_destino>


From <lista de tablas>
Where <condición>
Lenguaje SQL

Instrucciones DML
Like
• Permite realizar comparaciones parciales entre strings.
• Utiliza un carácter de comodín, el cual le indica al DBMS que
sección del string es irrelevante en la comparación. El carácter de
comodín puede ser utilizado en cualquier posición del string.
• Util para la búsqueda incompleta de nombres.
• Se utiliza en la cláusula WHERE.

Sintaxis:
• Where <campo> LIKE “%JUAN%”
Efecto: compara positivamente todo string que
incluya en alguna posición “JUAN”
Lenguaje SQL
Instrucciones DML

INSERT

INSERT INTO nombre_tabla (campo1, campo2 ...)


VALUES (valor1, valor2, ...)
Lenguaje SQL
Instrucciones DML

DELETE

Sintaxis

DELETE nombre_tabla
WHERE expresión_condicional

Si no se especifica cláusula WHERE, borra toda la tabla.


Lenguaje SQL
Instrucciones DML
UPDATE

Actualiza las tupla de una tabla

Sintaxis

UPDATE nombre_tabla
SETcampo1 = valor1,
campo2 = valor2, ...
WHERE expresión_condicional
Lenguaje SQL
Instrucciones DDL

Estas instrucciones actuaran sobre de las tablas del


sistema del DBMS, en relación con los objetos de la Base de
Datos. Entre estas instrucciones se encuentran:

 CREATE : Crea Objetos en la Base de datos


 DROP : Borra Objetos en la Base de Datos
 ALTER : Modifica la definicion de objetos
Lenguaje SQL
Instrucciones DDL

CREATE TABLE

creación de tabla
Sintaxis
CREATE TABLE table_name
(column_name datatype [default {constant_expression}] [{identity | null | not null]
[check {check_expression}]
, next_column, ...
, [constraint constraint_name primary key (fields) [clustered | nonclustered] [asc | desc]
)
Lenguaje SQL
Instrucciones DDL

ALTER TABLE
Modifica la definición de una tabla
Sintaxis
ALTER TABLE table_name
(column_name datatype [default {constant_expression}] [{identity | null | not null]
[check {check_expression}]
, next_column, ...
, [constraint constraint_name primary key (fields) [clustered | nonclustered] [asc |
desc] )
Lenguaje SQL
Instrucciones DDL

DROP TABLE

Borra la definicion de la tabla

Sintaxis

DROP TABLE table_name


Lenguaje SQL
Instrucciones DDL

Ejemplos

create table CLIENTE


(RutCliente char(12) not null
, NombreCliente char(30) not null
, FechaNacimiento datetime not null default “01/01/1900”
, SaldoCuenta numeric(12,2) not null default 0 check (SaldoCuenta >= 0)
, constraint Cliente_ID primary key (RutCliente) clustered asc)
Lenguaje SQL
Funciones
Funciones sobre Numéricos

Abs(n) Retorna el valor Absoluto de c

Sqt(n) Retorna la raiz cuadrada de c

Log(n) Retorna el logaritmo de n

Sin(n), Cos(n), Retorna Seno, Coseno, Tangente


Tan(n) de n
Lenguaje SQL
Funciones
Funciones sobre Strings

Ltrim(str) Borra todos los espacios a la


izquierda
Substring(str, pini, c) Retorna una porción del
string, tomando desde la
posición inicial “pini”, “c”
caracteres a la derecha.
Upper(str) Transforma a Mayúsculas

Lower(str) Transforma a Minúsculas


Lenguaje SQL
Diccionario de Datos
• Dada una Entidad y su lista de atributos, el diccionario de datos
define el Dominio y reglas básicas para cada uno de ellos.

Ejemplo:

Empleado

Nombre Tipo de Largo Nulidad Default Regla Descripci


Dato Validación ón

Rut Char 12 Not null Rut


(PK)
Nombre Char 30 Not Null Primer
Nombre
Sueldo Numeric (10,2) Not Null 0 >=0 Segundo
Nombre
Lenguaje SQL
Diccionario de Datos
 Formato del diccionario de datos

Nombre Entidad:
Descripción:
Atributos

Nombre Tipo de Largo Nulidad Default Regla Descripción


Dato Validaci
ón
Lenguaje SQL

1. Cantidad de Usuarios por tipo de Cliente


2. Valor Total de Activos Asignados por Cliente
3. Cantidad y valor total de Activos por Marca
4. Cantidad de Sucursales por Cliente
5. Identificación del activo de mayor y menor valor
registrado en el sistema