Lenguaje Estructurado de
Consultas
UNIVERSIDAD PÚBLICA DE EL ALTO
BASE DE DATOS II
Lic. Cristian Mercado Quispe
Base de Datos II - Lic. Cristian Mercado
Quispe
S.Q.L.
• MODELO RELACIONAL( F. Codd)
1970 • Álgebra Relacional
• System R
70’s y 80’s • Ingres
• Oracle, DB2, Informix, MySql Sybase,
80’s y 90’s Dbase, Paradox, Foxpro, Postgres, etc.
Base de Datos II - Lic. Cristian Mercado
Quispe
SQL
Lenguaje Estructurado de Consultas (Structured
Query Language)
SQL - 86
SQL - 89
SQL - 92
SQL - 99
SQL - 2003
SQL - 2005
SQL - 2008
Base de Datos II - Lic. Cristian Mercado
Quispe
SQL
Base de Datos II - Lic. Cristian Mercado
Quispe
SQL
DML Y DDL
Sentencias Tipo
SELECT
INSERT DML(LENGUAJE DE MANIPULACION DE DATOS)
UPDATE
DELETE
CREATE
ALTER DDL (LENGUAJE DE DEFINICION DE DATOS)
DROP
RENAME
TRUNCATE
Base de Datos II - Lic. Cristian Mercado
Quispe
Escritura de Sentencias SQL
• Las sentencias SQL no son sensibles a
mayúsculas/minúsculas.
• Las sentencias SQL pueden estar en una o
más líneas.
• Las palabras clave no se pueden abreviar.
• Las cláusulas se sitúan normalmente en
líneas separadas.
• Se utilizan sangrados para mejorar la
legibilidad.
Base de Datos II - Lic. Cristian Mercado
Quispe
Base de Datos II - Lic. Cristian Mercado
Quispe
Sentencia SELECT Básica
SELECT *| columna(s) [alias]| expresiones
FROM tabla
WHERE condición(es);
SELECT restringe las columnas que se van a
mostrar.
FROM identifica la tabla que contiene esas
columnas.
WHERE restringe las filas que se van a mostrar.
Base de Datos II - Lic. Cristian Mercado
Quispe
Definición de un Valor Nulo
• Un valor nulo es aquel que no está
disponible, no está asignado, es
desconocido o no es aplicable.
• Un valor nulo no es lo mismo que un cero o
un espacio en blanco.
Base de Datos II - Lic. Cristian Mercado
Quispe
EJEMPLO
• Mostrar el nombre de todos los paises.
• Mostrar el nombre de todas las regiones.
• Mostrar la dirección, el código postal, la
ciudad de todas las ubicaciones.
Base de Datos II - Lic. Cristian Mercado
Quispe
Operador de Concatenación
Un operador de concatenación:
• Enlaza columnas o cadenas de caracteres con
otras columnas
• Se representa mediante dos barras verticales
(||)
• Crea una columna resultante que es una
expresión de carácter
Base de Datos II - Lic. Cristian Mercado
Quispe
Filas Duplicadas
• La visualización por defecto de las consultas
es todas las filas, incluidas las filas
duplicadas.
• Utilice la opción DISTINCT para eliminar los
duplicados.
Base de Datos II - Lic. Cristian Mercado
Quispe
Cadenas de Caracteres y Fechas
• Las cadenas de caracteres y los valores de
fecha van entre comillas simples.
• Los valores de caracteres son sensibles a
mayúsculas/minúsculas y los valores de fecha
son sensible al formato.
• El formato de fecha por defecto es DD-MON-
RR.
Base de Datos II - Lic. Cristian Mercado
Quispe
Condiciones de Comparación
• < Menor que
• <= Menor o igual que
• >= Mayor o igual que
• > Mayor que
• = Igual que
• <> Distinto de
• BETWEEN Entre dos valores (ambos inclusive)
...AND...
• IN(set) Se corresponde con cualquier valor de una
lista
• LIKE Se corresponde con un patrón de
caracteres
• IS NULL Es un valor nulo
Base de Datos II - Lic. Cristian Mercado
Quispe
Condiciones Lógicas
• AND - Devuelve TRUE si ambas condiciones
componentes son verdaderas
• OR - Devuelve TRUE si alguna de las
condiciones componentes es verdadera
• NOT - Devuelve TRUE si la condición siguiente
es falsa
Base de Datos II - Lic. Cristian Mercado
Quispe
• Listar todos los empleados que tengan un
salario mayor a 7000 y trabajen en el
departamento 80 o 50.
• Listar todos los empleados que tengan el
cargo de ‘SA_REP’ y cuyo salario se encuentre
entre 7000 y 9000
Base de Datos II - Lic. Cristian Mercado
Quispe
BETWEEN
• Utilice la condición BETWEEN para mostrar
filas basadas en un rango de valores:
• Ejemplo, Listar el nombre, apellido y el
salario de los empleados que tengan un
salario mayor o igual a 3500 y menor o igual
a 7500.
Base de Datos II - Lic. Cristian Mercado
Quispe
Condición IN
• Utilice la condición IN de miembro para
comprobar los valores incluidos en una lista:
Ejemplo, Listar el nombre, id del
departamento y el id del supervisor de los
empleados que trabajan en cualquiera de los
siguientes departamentos: 50,80,100, 101,
201 o 90
Base de Datos II - Lic. Cristian Mercado
Quispe
Condición LIKE
• Utilice la condición LIKE para realizar
búsquedas con comodines(%,_) de valores
válidos de cadenas de búsqueda.
• Las condiciones de búsqueda pueden
contener literales de números o caracteres:
Ejemplo, listar todos los empleados que
tengan la letra ‘a’ en el nombre:
Base de Datos II - Lic. Cristian Mercado
Quispe
Condición Like
• Ejemplo, listar todos los empleados que tengan la letra ‘a’
en el nombre, tomar en cuenta mayúsculas y minúsculas
• Ejemplo, listar todos los empleados cuyo apellido termine
con la letra ‘n’
• Ejemplo, listar todos los empleados cuyo nombre
comience con la letra ‘C’
• Ejemplo, listar todos los empleados contratados en el año
2007
Base de Datos II - Lic. Cristian Mercado
Quispe
Condiciones NULL
• Compruebe si hay valores nulos con el
operador IS NULL.
• Listar todos los empleados que NO tengan
supervisor
Base de Datos II - Lic. Cristian Mercado
Quispe
NULL
• Ejemplo, listar todos los empleados que no
ganen una comisión.
• Ejemplo, listar todos los empleados que no
tengan asignado un departamento
Base de Datos II - Lic. Cristian Mercado
Quispe
Ejemplo, listar aquellos empleados que tengan
un salario mayor a 5000 y su apellido
comienze con la letra ‘s’
Base de Datos II - Lic. Cristian Mercado
Quispe
ORDER BY
• Para ordenar las filas recuperadas, utilice la
cláusula ORDER BY:
• ASC: orden ascendente, por defecto
• DESC: orden descendente
• La cláusula ORDER BY se coloca al final de la
sentencia SELECT:
Base de Datos II - Lic. Cristian Mercado
Quispe
Ejemplo
• Ejemplo, listar el nombre y apellido de todos los
empleados que trabajen en los departamentos:30,
50,80 o 90, ordenar por el id del departamento.
• Ejemplo, Listar el nombre, apellido y el id del
departamentode todos los empleados, ordenar por
nombre, apellido e id del departamento.
• Ejemplo, listar el nombre, apellido y el id del
departamento de todos los empleados, ordenar por id
del departamento, nombre y apellido.
Base de Datos II - Lic. Cristian Mercado
Quispe
FUNCIONES
UNIVERSIDAD PÚBLICA DE EL ALTO
BASE DE DATOS 2
Base de Datos II - Lic. Cristian Mercado
Quispe
FUNCIONES
• Funciones de una fila
– Carácter, Numéricas, Fechas, Conversión,
Generales.
• Funciones de varias filas
– Funciones de agregación
Base de Datos II - Lic. Cristian Mercado
Quispe
FUNCIONES DE UNA FILA CARACTER
• Estas funciones convierten en mayúsculas y
minúsculas las cadenas de caracteres:
• LOWER(COLUMNA)
• INITCAP(COLUMNA)
• UPPER(COLUMNA)
Base de Datos II - Lic. Cristian Mercado
Quispe
• Listar la fecha del sistema
• Mostrar el correo utilizando la letra capital.
• Listar todos los empleados que apelliden
‘KING’
Base de Datos II - Lic. Cristian Mercado
Quispe
FUNCIONES DE UNA FILA
CARACTER
• CONCAT(col1,col2): Une valores (el uso de parámetros con
CONCAT se limita a dos.)
• SUBSTR(col,pos,cant): Extrae una cadena de una longitud
determinada
• LENGTH(col): Muestra la longitud de una cadena como valor
numérico
• INSTR(col,car[,n]): Busca la posición numérica de un carácter
especificado, donde n representa la posición inicial a tomar en
cuenta.
Base de Datos II - Lic. Cristian Mercado
Quispe
Listar el nombre y apellido en una sola columna, utilizando la
función CONCAT.
Obtener los 3 primeros caracteres del nombre del empleado.
Mostrar el último carácter del nombre del empleado.
Mostrar el nombre del empleado y el tamaño del nombre.
Mostrar la posición de la primera aparición de la letra ‘r’ en el
nombre de los empleados.
Base de Datos II - Lic. Cristian Mercado
Quispe
• LPAD(col,tam,car): Rellena el valor de carácter
justificado a la derecha
• RPAD(col,tam,car): Rellena el valor de carácter
justificado a la izquierda
• TRIM(col): Recorta caracteres iniciales o finales (o
ambos) de una cadena de caracteres.
• REPLACE(col,cb,cr): Reemplaza una cadena de
caracteres en una columna o una expresión con
otra cadena de caracteres.
Base de Datos II - Lic. Cristian Mercado
Quispe
FUNCIONES DE UNA FILA
NUMÉRICAS
• ROUND: Redondea el valor al decimal
especificado
• TRUNC: Trunca el valor al decimal
especificado
• MOD: Devuelve el resto de la división
Base de Datos II - Lic. Cristian Mercado
Quispe