003-2 el lenguaje estandar sql - instrucciones dml (completo)

26
EL LENGUAJE ESTÁNDAR SQL INSTRUCCIONES DML

Upload: luis-samuel-ramirez-aponte

Post on 24-Sep-2015

28 views

Category:

Documents


0 download

DESCRIPTION

algo

TRANSCRIPT

Presentacin de PowerPoint

EL LENGUAJE ESTNDAR SQLINSTRUCCIONES DMLINSTRUCIONES DMLSENTENCIA DMLOBJETIVOINSERTAadir filas de datos a una tablaDELETEEliminar filas de datos de una tablaUPDATEModificar los datos de una tablaSELECTRecuperar los datos de una tablaCOMMITConfirmar como permanentes las modificaciones realizadasROLLBACKDeshacer todas las modificaciones realizadas desde la ltima confirmacin (ltimo commit)INSTRUCIONES DMLEjemplo

INSTRUCIONES DMLINSERTLa 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 DMLINSERT

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 DMLEJEMPLO:

INSERT INTO [([,,...])]SELECT [([,,...])] FROM ;

INSTRUCIONES DMLUPDATEPara 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 SET = {[, = ,..., = ]}[ WHERE ];

INSTRUCIONES DMLEJEMPLO:

--Modificar los registros en donde Id_dpto=1, la casilla nombre,--Anlisis.UPDATE Departamentos SET Nombre=Anlisis WHERE Id_dpto=1;

--Modificar todas la fecha de creacin .UPDATE Departamentos SET fCreacion = 2015-02-06 00:00:00,000

INSTRUCIONES DMLDELETEBorrar datos:

DELETE FROM WHERE ;

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 DMLLa estructura bsica de una consulta SQLInstruccin que se define como la estrella por su versatilidad y mayor uso en las funciones de extraccin de datos de las BDUsa una mezcla de estructuras del lgebra relacional y del clculo relacional.Consta de tres clusulas:SELECTFROMWHERESELECT FROM WHERE

INSTRUCIONES DMLSELECT: se utiliza para listar los atributos que se desean en el resultado de una consulta. La lista de atributos puede sustituirse por * para seleccionar todos los atributos de todas las relaciones que aparezcan en la clusula from.

FROM: lista las relaciones que se van a examinar en la evaluacin de la expresin.

WHERE: consta de un predicado que incluye atributos de las relaciones que aparecen en la clusula from.INSTRUCIONES DMLSELECT FROM WHERE

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.

FILTRADO BASICO EN LAS CONSULTASOPERADORES LGICOOPERADORDESCRIPCIN ANDEvala dos condiciones y devuelve un valor de verdad solo si ambas son ciertas.OREvala dos condiciones y devuelve un valor de si alguna de las dos es cierta.NOTDevuelve el valor contrario de la expresin.OPERADORES LGICOOPERADORDESCRIPCIN < O O >=Mayor que (o igual) O !=Distinto=IgualOPERADORES LGICOOperadorDescripcin BETWEENEntre. Utilizado para especificar un intervalo de valores.LIKEComo. Utilizado para la comparacin de un modeloINEn. Utilizado para especificar registros de una base de datosFUNCIONESFunciones de agregacin:

Permite obtener valores agregados, es decir, un solo valor que resume la informacin de varias filas.

PromedioAVGSumaSUMMnimoMINMximoMAXCantidadCOUNTFUNCIONESFunciones Numricas

Son funciones que permite operaciones matemticas bsicas sobre atributos numricosABS(N)Retorna el valor Absoluto de cSQT(N)Retorna la raz cuadrada de cLOG(N)Retorna el logaritmo de nSIN(N)Retorna Seno de n, COS(N)Retorna Coseno de nTAN(N)Retorna Tangente de nFUNCIONESFunciones sobre Strings

Permiten hacer operaciones sobre cadenas de caracteres LTRIM(STR)Borra todos los espacios a la izquierdaSUBSTRING (STR, PINI, C)Retorna una porcin del string, tomando desde la posicin inicial pini, c caracteres a la derecha.UPPER(STR)Transforma a MaysculasLOWER(STR)Transforma a MinsculasEJEMPLOSObtener la suma de los importes de las ordenes de compra:SELECT SUM(importe) FROM orden;

Numero de productos que se fabricanSELECT COUNT(DISTINCT cod_prod) FROM productos;

Empleados que trabajan en el departamento 10SELECT 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 personalSELECT * FROM PERSONAL EJEMPLOSSelecciona los campos cod, nombre y fecha y todos los registrosSELECT cod,nombre,fecha FROM PERSONAL

Selecciona nombre y DNI de las empleadas de la empresaSELECT nombre,DNI FROM PERSONAL WHERE SEXO=F

Selecciona los empleados con el campo salario de la tabla PERSONAL vacoSELECT nombre,DNI FROM PERSONAL WHERE SALARIO IS NULL

Selecciona todos los empleados cuyo apellido comience por TSELECT * FROM PERSONAL WHERE NOMBRE LIKE T*

EJEMPLOSSelecciona los empleados cuyo nombre contenga una e o que sean mujeresSELECT * 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 AgostoSELECT sueldo FROM SALARIO WHERE SUELDO > 200000 AND SUELDO450000

Selecciona de la tabla salario los sueldos entre 100000 y 150000 que no pertenezcan al mes de AgostoSELECT sueldo FROM SALARIO WHERE SUELDO BETWEEN 100000 AND 150000 AND MES NOT LIKE AGOSTO

EJEMPLOSSelecciona los empleados con el campo salario de la tabla PERSONAL no este vacoSELECT nombre,DNI FROM PERSONAL WHERE SALARIO IS NOT NULL

Ordena a los empleados por nombre ascendenteSELECT * 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 descendenteSELECT * FROM PERSONAL WHERE ((NOMBRE LIKE *GARCA*' AND SEX='F') OR DNI=55789642) ORDER BY DNI DESC

EJEMPLOSMostrar en una sola fila y sin duplicados los meses distintos que aparecen en la tabla salariosSELECT DISTINCT mes FROM SALARIO

EJERCICIO DE APLICACIN

EJERCICIO DE APLICACINCantidad de Usuarios por tipo de ClienteValor Total de Activos Asignados por ClienteCantidad y valor total de Activos por MarcaCantidad de Sucursales por ClienteIdentificacin del activo de mayor y menor valor registrado en el sistema