Documente Academic
Documente Profesional
Documente Cultură
A JE
ESTNDA
R
SQL
INSTRUCC
I
ONES DM
INSTRUCIONES DML
SENTENCIA DML
OBJETIVO
INSERT
DELETE
UPDATE
SELECT
COMMIT
ROLLBACK
INSTRUCIONES DML
Ejemplo
INSTRUCIONES DML
INSERT
La instruccin INSERT agrega una o ms filas nuevas a una tabla. Tratada de forma
simplificada, INSERT tiene el siguiente formato:
INSERT [INTO] table [(column_list)] VALUES [(data_values)]
La instruccin INSERT insertadata_valuescomo una o ms filas en la tabla
especificada.column_listes una lista separada por comas de los nombres de columnas
que se pueden utilizar para especificar las columnas para las que se suministran datos.
Si no se especificacolumn_list, todas las columnas de la tabla reciben datos.
Cuandocolumn_listno especifica todas las columnas de la tabla o vista, se inserta el
valor predeterminado, si se ha definido alguno para la columna, o un valor de NULL en
aquellas columnas que no se hayan especificado en la lista.
Todas las columnas no especificadas en la lista de columnas deben permitir valores
NULL o tener asignado un valor predeterminado.
INSTRUCIONES DML
INSERT
INSERT INTO nombre_tabla (campo1, campo2 ...) VALUES
(valor1, valor2, ...)
EJEMPLO:
-- Standard syntax
INSERT INTO Departamento (Nombre, Descripcin) VALUES
(Ingresos, Entrada y Salida de Dinero)
-- Skipping the column list, but keeping the values in
order
INSERT INTO Departamento VALUES (Desarrollo, 2014-01-05
00:00:00.000, NULL)
INSTRUCIONES DML
EJEMPLO:
INSERT INTO <nombre_tabla>
[(<campo1>[,<campo2>,...])]
SELECT [(<campo1>[,<campo2>,...])] FROM
<nombre_tabla_origen>;
INSTRUCIONES DML
UPDATE
Para la actualizacin de datos SQL dispone de la
sentenciaUPDATE.La
sentenciaUPDATEpermite
la
actualizacin de uno o varios registros de una nica tabla. La
sintaxis de la sentenciaUPDATEes la siguiente
SINTAXIS
UPDATE<nombre_tabla>
SET <campo1> = <valor1>
{[,<campo2> = <valor2>,...,<campoN> =
<valorN>]}
[ WHERE <condicion>];
INSTRUCIONES DML
EJEMPLO:
--Modificar los registros en donde Id_dpto=1, la casilla
nombre,
--Anlisis.
UPDATE Departamentos SET Nombre=Anlisis WHERE
Id_dpto=1;
INSTRUCIONES DML
DELETE
Borrar datos:
DELETE FROM <nombre_tabla> WHERE
<condicion>;
EJEMPLO:
DELETE FROM Departamentos
WHERE fCreacion < 2000-12-31 00:00:00,000
--Si no se especifica clusula WHERE, borra
todos los registros de la tabla
INSTRUCIONES DML
La estructura bsica de una consulta SQL
Instruccin que se define como la estrella por
su versatilidad y mayor uso en las funciones de
extraccin de datos de las BD
Usa una mezcla de estructuras del lgebra
relacional y del clculo relacional.
Consta de tres clusulas:
SELECT
FROM
WHERE
SELECT <nombre_campos> FROM
<nombre_tablas>
WHERE <condiciones>
INSTRUCIONES DML
SELECT: se utiliza para listar los atributos que se
evaluacin de la expresin.
WHERE: consta de un predicado que incluye atributos
INSTRUCIONES DML
SELECT <nombre_campos> FROM
<nombre_tablas>
WHERE <condiciones>
El resultado de la ejecucin de una sentencia
SELECT es siempre otra tabla. Las columnas de la
tabla resultante sern las que figuren enumeradas
tras la clusula SELECT, y en el mismo orden en el
que figuran tras ella.
OPERADORES LGICO
OPERADOR
DESCRIPCIN
AND
OR
NOT
OPERADORES LGICO
OPERADO
R
DESCRIPCIN
< O <=
> O >=
<> O !=
Distinto
Igual
OPERADORES LGICO
Operador
Descripcin
BETWEEN
LIKE
IN
FUNCIONES
Funciones de agregacin:
Permite obtener valores
agregados, es decir, un solo
valor que resume la
informacin de varias filas.
Promedio
AVG
Suma
SUM
Mnimo
MIN
Mximo
MAX
Cantidad
COUNT
FUNCIONES
0 Funciones Numricas
ABS(
N)
Retorna el valor
Absoluto de c
SQT(
N)
Retorna la raz
cuadrada de c
LOG(
N)
Retorna el logaritmo
de n
SIN(N
)
Retorna Seno de n,
COS(
N)
Retorna Coseno de n
FUNCIONES
0 Funciones sobre Strings
LTRIM(STR
)
SUBSTRIN
G (STR,
PINI, C)
Retorna una
porcin del string,
tomando desde la
posicin inicial
pini, c
caracteres a la
derecha.
UPPER(ST
R)
Transforma a
Maysculas
LOWER(ST
R)
Transforma a
Minsculas
EJEMPLOS
Obtener la suma de los importes de las ordenes de compra:
SELECT SUM(importe) FROM orden;
Numero de productos que se fabrican
SELECT COUNT(DISTINCT cod_prod) FROM productos;
Empleados que trabajan en el departamento 10
SELECT COUNT(*) FROM empleados WHERE num_dpto=10;
Numero de empleados de cada departamento.
SELECT num_dept, COUNT(*) FROM empleados GROUP BY num_dpto;
Selecciona todos los campos y todos los registros de la tabla
personal
SELECT * FROM PERSONAL
EJEMPLOS
Selecciona los campos cod, nombre y fecha y todos los
registros
SELECT cod,nombre,fecha FROM PERSONAL
Selecciona nombre y DNI de las empleadas de la
empresa
SELECT nombre,DNI FROM PERSONAL WHERE SEXO=F
Selecciona los empleados con el campo salario de la
tabla PERSONAL vaco
SELECT nombre,DNI FROM PERSONAL WHERE SALARIO IS NULL
Selecciona todos los empleados cuyo apellido comience
por T
SELECT * FROM PERSONAL WHERE NOMBRE LIKE T*
EJEMPLOS
Selecciona los empleados cuyo nombre contenga una
e o que sean mujeres
SELECT * FROM PERSONAL WHERE NOMBRE LIKE M* OR
SEXO=F
Selecciona de la tabla salario los sueldos mayor que
200000 y distintos de 450000 que no pertenezcan al
mes de Agosto
SELECT sueldo FROM SALARIO WHERE SUELDO > 200000 AND
SUELDO<>450000
Selecciona de la tabla salario los sueldos entre 100000
y 150000 que no pertenezcan al mes de Agosto
SELECT sueldo FROM SALARIO WHERE SUELDO BETWEEN
100000 AND 150000 AND MES NOT LIKE AGOSTO
EJEMPLOS
Selecciona los empleados con el campo salario de la
tabla PERSONAL no este vaco
SELECT nombre,DNI FROM PERSONAL WHERE SALARIO IS NOT
NULL
Ordena a los empleados por nombre ascendente
SELECT * FROM PERSONAL ORDER BY NOMBRE ASC
Selecciona los empleados cuyo nombre contenga la
palabra garca y que sean mujeres o cuyo DNI sea
55789642 ordena por numero de DNI descendente
SELECT * FROM PERSONAL WHERE ((NOMBRE LIKE *GARCA*'
AND SEX='F') OR DNI=55789642) ORDER BY DNI DESC
EJEMPLOS
Mostrar en una sola fila y sin duplicados los meses
distintos que aparecen en la tabla salarios
SELECT DISTINCT mes FROM SALARIO
EJERCICIO DE APLICACIN
T i poCl i ente
CodT i poCl i ente
Nom T i poCl i ente
Desc T i poCl i ente
Cl i ente
CodCl i ente
RutCl i ente
Nom Cl i ente
Fec haIngreso
CodT i poCl i ente_FK
Suc ursal
CodSuc ursal
Nom Suc ursal
Di rec c i onCal l e
Di rec c i onNum
Di rec c i onDpto
Contac to
T el efono
Fax
em ai l
CodCl i ente_FK
M arc a
CodMarc a
Nom Marc a
Desc Marc a
Usuari o
CodUsuari o
Rut
Nom bres
Apel l i dos
Fec haNac i m i ento
Sexo
Ubi c ac i on
T el efono
Fax
emai l
CodSuc ursal _FK
Ac ti vo
CodAc ti vo
Num Seri e
Desc Ac ti vo
Carac teri sti c a
Fec haAdqui si c i on
Val orAdqui si c i on
T i poFi nanc
M esesFi nanc
InteresAnual Fi nanc
CodM arc a_FK
CodUsuari o_FK
EJERCICIO DE APLICACIN
1.
2.
3.
4.
5.