advertisement

Sql básico - compendio

54 %
46 %
advertisement
Information about Sql básico - compendio
Technology

Published on February 6, 2014

Author: josefabiandiazs

Source: slideshare.net

Description

Un compendio de sentencias SQL, trata desde las sentencias DDL hasta las DML, INSERT, UPDATE, DELETE, CREATE, ALTER,se presentan mediante ejemplos detallando su estructura. Se incluyen la creación de restricciones,el borrado de las mismas y el manejo de las llaves primarias, foraneas e indices.
Las subconsultas son incluidas, así como el trabajo con WHERE, el GROUP BY y el HAVING, considerando los operadores de grupo AVG y MAX.
Se concibe la presentación como una guía rápida de referencia para SQL.
Se baso en el SQL compatible para ORACLE
advertisement

SQL BÁSICO Msc.Ing. JOSE FABIAN DIAZ SILVA @josefabiandiaz

SQL - INTRO  SQL : Structure Query Language  Es un lenguaje muy popular para el trabajo con los motores de bases de datos, alcanzo su punto mas alto con los sistemas de almacenamiento relacionales (basado en relación entre tablas).  Existe un estándar definido para trabajar con SQL pero cada motor de base datos implementa algunas sentencias propietarias pensadas en el aprovechamiento de su sistema.

SENTENCIAS Sentencias Clasificación SELECT Recuperación de datos INSERT UPDATE DELETE MERGE Lenguaje de manipulación de datos (DML) CREATE ALTER DROP RENAME TRUNCATE Lenguaje de definición de datos (DDL) COMMIT ROLLBACK SAVEPOINT Control de transacciones GRANT REVOKE Lenguaje de control de datos (DCL)

RECUPERACIÓN DE DATOS Data Retrieval

SELECT  SELECT *| { [DISTINCT]columna | expresión[alias], … } FROM table;  El “*” se emplea junto a la palabra reservada SELECT para retornar todas las columnas de la tabla, si no es empleado se tiene que referir explícitamente al campo=columna.  DISTINCT es un comando para asegurar que no se repitan los datos retornados.  Se pueden emplear los denominados Alias para referirse a un campo. Todos los campos se separa en el FROM se especifica el nombre de la tabla a consultar. SELECT nombre, apellido FROM persona;

DEFINIENDO “ALIAS”  SELECT apellido “empleado”, salario * 12 “sueldoTotal” FROM empleados;  Los alias ayudan a darle mas sentido a los datos resultantes de una consulta. En el ejemplo presentado se aprecia como una expresión “salario * 12” puede ser empleada como retorno de una consulta SELECT. “Los alias se caracterizan por emplear las comillas dobles en su nombramiento”.

CONCATENACIÓN & DUPLICACIÓN  SELECT nombre || apellido as “nombres” FROM empleados;  Se aprecia que el símbolo “||” se emplea para unir dos campos , así como la palabra “as” se establece para indicar el alias que llevara estos campos unidos. SELECT Distinct departamento FROM empleados; La palabra “distinct” evita la repetición de campos cuando se recuperan los datos de una tabla.

DESCRIBIR ESTRUCTURA  DESCRIBE “NOMBRE TABLA”  Por medio de la palabra reservada DESCRIBE o su versión resumida DESC es posible conocer los campos con su tipo y tamaño que corresponden a un arreglo tipo tabla. Nombre Restricción Tipo Id_empleado NOT NULL NUMBER(5) Nombre NOT NULL VARCHAR2(20) Apellido NOT NULL VARCHAR2(20)

WHERE  SELECT *| { [DISTINCT]columna | expresión[alias], … } FROM table [WHERE condicion)(es)];  La palabra “WHERE” se emplea para restringir las filas que se retornan el empleo de la misma brinda versatilidad al poder incluir diversas condiciones. SELECT nombre, apellido FROM persona WHERE id_empleado=23;

BETWEEN  SELECT apellido, salario  FROM empleados WHERE salario BETWEEN 100 AND 300;  Con la sentencia BETWEEN se restringe un intervalo dentro de los cuales se espera conseguir un resultado. el empleo de la misma brinda versatilidad al poder incluir diversas condiciones de validación.

IN  SELECT apellido, salario  FROM empleados WHERE salario IN (100,200,600);  Con la sentencia IN se restringe los valores retornados únicamente a los que coincidan con los descritos en el conjunto dado por IN. La posibilidad de realizar una consulta al interior de los paréntesis de IN abre nuevas posibilidades..

LIKE  SELECT apellido, salario  FROM empleados WHERE apellido LIKE ‘D%’;  Retorna aquellos empleados cuyo apellido inicie con “D”. Con LIKE se efectúa una consulta en campos de cadenas de caracteres. El símbolo % se emplea como comodín para representar cualquier cantidad de cadena de caracteres en la posición que se localice. Es decir si se emplea “%D%” se retornaría cualquier apellido que contenga la letra D.

ORDER BY  SELECT apellido, salario FROM empleados ORDER BY fecha_contrato asc/desc; La sentencia ORDER BY permite efectuar un ordenamiento de los datos recuperados de la consulta(las columnas), puede ser del tipo ascendente ASC o descendente DESC, lo cual se indica al finalizar la sentencia.

GROUP BY  SELECT id_ jefe,avg(salario) FROM empleados GROUP BY id_jefe;  La sentencia anterior retorna el promedio(avg) del salario de aquellas personas que tienen el mismo jefe. Algunos datos se desean trabajar como si se tratara de un grupo de los mismos. Con la sentencia GROUP BY se agrupan los datos y permite efectuar operaciones sobre ellos.

HAVING  SELECT id_ jefe,max(salario) FROM empleados GROUP BY id_jefe HAVING MAX(salario)>300;  La sentencia HAVING permite efectuar consultas tipo WHERE sobre las agrupaciones de datos. En el ejemplo presentado si agrupo por el jefe, pero solo se presentaran los datos de aquellos grupos que el máximo del salario sea superior a 300.

SUBQUERY  SELECT nombre, apellido FROM empleados WHERE sueldo> (SELECT sueldo FROM empleados WHERE apellido=‘diaz’);  La anterior se denomina “subconsulta” cuando se emplea una consulta SQL como condición a evaluar por una consulta superior. No todas las implementaciones de SQL admiten subconsultas, así como tampoco todos los gestores de bases de datos las compilan.

DML: MANIPULACIÓN DE DATOS DML: Data manipulation laguage

INSERT  INSERT INTO nombre_tabla (campos separados por coma) VALUES (valores para los campos, separado por comas);  La sentencia INSERT se emplea para añadir campos a una tabla. Cuando los campos son no numéricos se debe encerrar dentro de comillas simples es valor escrito para que el compilador de SQL no lo confunda con el valor de una constante. INSERT INTO empleado (nombre, apellido, sueldo) values(‘fabian’,’diaz’,300);

INSERT – VALORES NULOS  INSERT INTO empleado(nombre, apellido) VALUES (‘fabian’,’diaz’);  Se puede insertar valores nulos por el método implícito de no nombrar el campo. INSERT INTO empleado VALUES (‘fabian’,’diaz’,NULL); Pero también se puede referenciar de forma explicita, indicando que el campo esta vacío o nulo.

UPDATE  UPDATE empleado SET salario=100 WHERE apellido=‘diaz’;  Se emplea para modificar el contenido de los campos retornados por una consulta WHERE. Importante: Si la clausula WHERE no se coloca, toda la tabla sufrirá el cambio especificado.

DELETE  DELETE FROM empleado WHERE apellido=‘diaz’;  Se emplea para eliminar los registros filtrados por la consulta WHERE. Importante: Si la clausula WHERE no se coloca, toda la tabla será borrada..

DDL: DEFINICIÓN DE DATOS DDL: Data Definition Language

CREATE  CREATE TABLE nombre_tabla (columna tipo);  Se debe especificar el nombre de la tabla junto con sus campos y el tipo de los mismos. Si es preciso eliminar la tabla solo es necesario escribir: DROP TABLE nombre_tabla CREATE TABLE empleado (id_empleado number(2), nombre varchar2(20), apellido varchar2(20), salario number(5));

ALTER TABLE  Sobre una tabla se pueden realizar 3 tipos de alteraciones,  Adicionar ADD:  ALTER TABLE nombre_tabla ADD (nombre_columna tipo_de_dato); Modificar MODIFY: ALTER TABLE nombre_tabla MODIFY (nombre_columna tipo_de_dato);  Eliminar DROP: ALTER TABLE nombre_tabla DROP (nombre_columna);

RESTRICCIONES : LLAVE PRIMARIA  Las restricciones se emplean para adicionarle a las tablas un control y coherencia.  La llave primaria permite garantizar la identificación única de un registro al interior de la tabla. CREATE TABLE empleado Notese que “id_pk_empleado” es el nombre de la (id_empleado number(2), llave primaria y puede ser reemplazado por nombre varchar2(20), cualquier valor. apellido varchar2(20), salario number(5), CONSTRAINT id_pk_empleado PRIMARY KEY(id_empleado));

RESTRICCIONES : NOT NULL  Algunos campos serán obligatorios y no podrán ser creados vacíos o nulos, para lo cual se deben declarar de la siguiente forma al interior de la tabla. CREATE TABLE empleado (id_empleado number(2), nombre varchar2(20) NOT NULL, apellido varchar2(20), salario number(5)); Mas de un campo puede ser declarado con NOT NULL, incluso todos.

RESTRICCIONES : UNIQUE  La llave primaria permite identificar un campo de manera única al interior de una tabla y se emplea para referenciarlo, pero existen otros campos que se desea no tener duplicados, aunque no se empleen como referencia. Estos campos se crean como únicos. CREATE TABLE empleado (id_empleado number(2), nombre varchar2(20) NOT NULL, apellido varchar2(20), salario number(5), “No se emplean para identificación como la llave primaria.” email varchar2(20),CONSTRAINT emp_email_unico UNIQUE(email));

RESTRICCIONES : LLAVE FORANEA  La llave foránea hace referencia a un campo que coincide con la llave primaria de otra tabla. Se emplea para crear relaciones de dependencia entre tablas. CREATE TABLE empleado (id_empleado number(2), nombre varchar2(20), “El campo id_departamento hace referencia a la apellido varchar2(20), tabla departamento que tiene un campo con el salario number(5), mismo nombre.” id_departamento number(2), email varchar2(20),CONSTRAINT emp_dep_fk (id_departamento) REFERENCES departamento (id_departamento));

RESTRICCIONES : ADICIONAR/ELIMINAR  ALTER TABLE empleado ADD CONSTRAINT emp_direc FOREIGN KEY(jefe_id) REFERENCES empleado (id_empleado) ALTER TABLE empleado DROP CONSTRAINT emp_direc “Todas las restricciones se pueden agregar o eliminar empleando el mismo método”.

ÍNDICES  Los índices se emplean para agilizar las consultas sobre los campos , ahorrando tiempo de procesamiento al gestor de base de datos. CREATE INDEX nombre_índice ON nombre_tabla(nombre_campo); CREATE INDEX nombre_emp ON empleado(nombre); “Se pueden tener tantos índices como campos tenga la tabla, todo depende de las necesidades propias del desarrollador”.

CONSULTAS @josefabiandiaz https://www.youtube.com/user/fabiandiazs josefabiandiazs@Gmail.com

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Descarga Gratis Libros, Manuales, Tutoriales , etc

... Curos Multimedia de AutoCAD 2D - Basico Descargar: ... Compendio de Problemas de Física Médica y Biología ... Manual de SQL Básico Descargar: ...
Read more

Cronograma De Anatomia Topografica Humana Pdf Anatomia ...

frank netter atlas de anatomia humana gratis, cronograma de trabajo, compendio de anatomia pdf, anatomia humana latarjet, instrumentos topograficos pdf
Read more

Mastering Transactsql Server 2005 Pdf Download With ...

sql server 2005 basics pdf download, ... Das Blog zu E L James Erotik-Trilogie "Shades of Grey" ... compendio de patologia de robbins gratis ;
Read more

Victor H Gonzalez A | LinkedIn

View Victor H Gonzalez A ... Sistema de Backorders de Portafolio Básico. ... sino que es mas bien un esfuerzo individual para realizar un Compendio ...
Read more

de base - Traduction en espagnol - exemples français ...

Aucun pilote de base de données SQL ... Las directrices comunes para el documento básico han sido adoptadas ... Compendio de la terminología básica ...
Read more

warcraft vs age of impires vs starcraft (loquendo) - YouTube

warcraft vs age of impires vs starcraft (loquendo) ... Compendio basico de trucos starcraft 2 ... Instalación de SQL Server 2008 en Windows ...
Read more

Types Most Recent | Scribd

About Scribd; Meet the team; Our blog; Join our team! Contact Us; Support. Help; FAQ; Accessibility; Press; Purchase help; AdChoices; Partners. Publishers ...
Read more

Pathfinder Open Reference - Aplicaciones de Android en ...

POR te da acceso fácil e instantáneo a todo lo que necesitas para jugar Pathfinder.
Read more