1. SQL
CARRERA DE SISTEMAS
CLIENTE-SERVIDOR
TEMA: CONSULTA SQL.
ESTUDIANTE: JONATHAN ISRAEL SALGUERO FLORES.
DOCENTE: LUIS GUALLPA
29-01-2015
Puyo-Pastaza
UNIVERSIDAD REGIONAL AUTÓNOMA DE
LOS
ANDES “UNIANDES”
2. EscribirsentenciasSQLSELECTparaconsultascon
operadoresderestricción,proyecciónyenlace.
La estructura básica de una expresión en SQL consta de tres cláusulas:
SELECT, FROM y WHERE.
SELECT es usado para recuperar filas de una o más tablas. lista_columnas indica
cuales columnas quiere recuperar.
SELECT [DISTINCT] lista_columnas FROM
referencias_tablas
[WHERE condicion_búsqueda] [GROUP BY group_list]
[HAVING having_condition] [ORDER BY order_list]
[LIMIT [offset,] rows ] [PROCEDURE
procedure_name]
[UNION select_expr]
• En SQL las consultas de los siguientes ejemplos:
• "Encontrar todos los clientes que tienen una ferreteria:
• SELECT DISTINCT nombre-cliente
• FROM depósito
• WHERE nombre-sucursal = " ferreteria"
• "Encontrar todos los clientes que tiene un ":
• SELECT DISTINCT nombre-cliente
• FROM préstamo
• WHERE nombre-sucursal = " Ambateño "
3. • Ejemplo 1 : Seleccionar todos los nombres de las
personas que tengan el apellido Lopez de la tabla persona
SELECT nombre
FROM persona
WHERE apellido = " Lopez«
El resultado de una consulta es por supuesto otra
relación. Si se omite la cláusula WHERE, el predicado P
es verdadero.
La lista E1, E2,..., An puede sustituirse por un
asterisco (*) para seleccionar todos los atributos de
todas las relaciones
que aparecen en la cláusula FROM, aunque no es
conveniente elegir esta ultima opción salvo que sea
necesario
pues desperdiciamos mucho tiempo en obtenerlo Alias
4. Es posible renombrar los atributos y las relaciones, a veces por
conveniencia y otras veces por ser necesario,para esto usamos la
clausula AS como en el siguiente ejemplo.
SELECT P.nombre AS [PRIMER NOMBRE]
FROM persona P
WHERE apellido = "Lopez"
La complejidad de una consulta puede aumentar cada vez más. Esto depende de
los requerimientos que se haga y del uso de los comandos y cláusulas que se
necesiten. Por ejemplo, puede haber subconsultas, que no son nada más que una
consulta dentro de otra; es decir, un SELECT dentro de otro. Puede utilizar tres
formas de sintaxis para crear una subconsulta:
comparación [ANY | ALL | SOME] (instrucción sql)
expresión [NOT] IN (instrucción sql)
[NOT] EXISTS (instrucción sql)
En donde:
comparación
Es una expresión y un operador de comparación que compara la expresión con el
resultado de la subconsulta.
expresión
Es una expresión por la que se busca el conjunto resultante de la subconsulta.
5. EscribirsentenciasSELECTparaenlacesqueincluyentresomástablas,autoenlacesy
múltiplesenlacesentretablas.
• Las vinculaciones entre tablas se realizan mediante la
cláusula INNER que combina registros de dos tablas
siempre que haya concordancia de valores en un campo
común.
Su sintaxis es la siguiente:
• SELECT campos FROM tb1 INNER JOIN tb2 ON
tb1.campo1 comp tb2.campo2
En donde:
tb1, tb2: Son los nombres de las tablas desde las que se
combinan los registros. campo1, campo2: Son los
nombres de los campos que se combinan. Si no son
numéricos, los campos deben ser del mismo tipo de datos y
contener el mismo tipo de datos, pero no tienen que tener
el mismo nombre.
• Comp: Es cualquier operador de comparación relacional:
=, <, >, <=, >=, o <>.
6. El ejemplo siguiente muestra cómo podría combinar
las tablas Categorías y Productos basándose en el
campo IDCategoria:
• SELECT Nombre_Categoría, NombreProducto
• FROM Categorias INNER JOIN Productos
• ON Categorias.IDCategoria = Productos.IDCategoria;
7. EntenderyejemplificarelpropósitodelacláusulaGROUPBYusandoelprocesode
evaluaciónconceptual.
• Se pueden obtener subtotales con la cláusula
GROUP BY. Una consulta con una cláusula
GROUP BY se denomina consulta agrupada
Ejemplo:
SELECT SUM(empleado)
FROM repempleados
Obtiene la suma de los
empleados de todas las tablas
SELECT SUM(empleado)
FROM repempleados
GROUP BY oficina
Se forma un grupo para cada oficina, con las filas de la oficina,
y la suma se calcula sobre las filas de cada grupo. El ejemplo
anterior obtiene una lista con la suma de los empleados de las
empres de cada oficina.
8. EscribirdescripcionesenespañolensentenciasdocumentadasdeSQL.
• Existen dos tipos de comandos SQL:
• • Los DLL que permiten crear y definir nuevas bases de datos, campos e índices.
• • Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de
la base de datos.
• Entre los comandos DLL tenemos a los siguientes:
• CREATE: Utilizado para crear nuevas tablas, campos e índices.
• DROP: Empleado para eliminar tablas e índices.
• ALTER: Utilizado para modificar las tablas agregando campos o cambiando la definición
de los campos.
• A continuación se presentan los comandos DML utilizados para el manejo de consultas:
• SELECT: Utilizado para consultar registros de la base de datos que satisfagan un criterio
determinado.
• INSERT: Utilizado para cargar lotes de datos en la base de datos en una única operación.
• UPDATE: Utilizado para modificar los valores de los campos y registros especificados.
• DELETE: Utilizado para eliminar registros de una tabla de una base de datos.
Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea
seleccionar o manipular.
• Entre las cláusulas utilizadas para el manejo de consultas tenemos:
• FROM: Utilizada para especificar la tabla de la cual se van a seleccionar los registros.
• WHERE: Utilizada para especificar las condiciones que deben reunir los registros que se
van a seleccionar.
• GROUP BY: Utilizada para separar los registros seleccionados en grupos específicos.
• HAVING: Utilizada para expresar la condición que debe satisfacer cada grupo.
• ORDER BY: Utilizada para ordenar los registros seleccionados de acuerdo con un orden
específico.
9. EscribirdescripcionesenespañolensentenciasdocumentadasdeSQL.
SENTENCIA DESCRIPCIÓN
DML
Manipulación de datos
SELECT
INSERT
DELETE
UPDATE
Recupera datos de la base de datos.
Añade nuevas filas de datos a la base de datos.
Suprime filas de datos de la base de datos.
Modifica datos existentes en la base de datos.
DDL
Definición de datos
CREATE TABLE
DROP TABLE
ALTER TABLE
CREATE VIEW
DROP VIEW
CREATE INDEX
DROP INDEX
CREATE SYNOYM
DROP SYNONYM
Añade una nueva tabla a la base de datos.
Suprime una tabla de la base de datos.
Modifica la estructura de una tabla existente.
Añade una nueva vista a la base de datos.
Suprime una vista de la base de datos.
Construye un índice para una columna.
Suprime el índice para una columna.
Define un alias para un nombre de tabla.
Suprime un alias para un nombre de tabla.
DCL Control de acceso
GRANT
REVOKE
Control de transacciones
COMMIT
ROLLBACK
Concede privilegios de acceso a usuarios.
Suprime privilegios de acceso a usuarios
Finaliza la transacción actual.
Aborata la transacción actual.
PLSQL SQL Programático
DECLARE
OPEN
FETCH
CLOSE
Define un cursor para una consulta.
Abre un cursor para recuperar resultados de consulta.
Recupera una fila de resultados de consulta.
Cierra un cursor.
10. Escribir las sentencias INSERT, UPDATE y DELETE para
modificar las filas de una tabla.
• Lenguaje de control de datos (DCL).
DCL está compuesto por sentencias SQL para
controlar las funciones de administración :
Confirmar la operacion (COMMIT)
Retroceder la operacion (ROLLBACK)
Dar permisos (GRANT)
Quitar permisos (REVOKE)
• Insertar nuevos registros en una tabla copiando los
datos que ya están guardados en otras tablas
utilizando como entrada el resultado de una consulta
realizada con la sentencia SELECT. La sintaxis es la
siguiente:
11. 1 INSERT INTO nombre_tabla (lista de campos separados por comas) sentencia
SELECT
La sentencia SELECT debe tener y devolver el mismo número
de columnas y del mismo tipo que la lista de columnas del
esquema de la tabla.1 INSERT INTO clientes_lugo SELECT * FROM clientes WHERE localidad = 'Lugo';
La sentencia UPDATE permite modificar los datos almacenados en
las tablas. La sintaxis de la sentencia UPDATE es esta
1
2
3
UPDATE nombre_tabla
SET campo1 = valor1,
campo2 = valor2,
...
campoN = valorM
WHERE condiciones
funcionamiento de la sentencia UPDATE con SELECT:
1
2
UPDATE EMPLEADOS
SET SALARIO = SALARIO * 1.02
PRECIO_HORA = PRECIO_HORA * 1.01
WHERE SALARIO < 3000
12. la sentencia DELETE se pueden borrar registros de dos o más tablas
a la vez, por ejemplo con la siguiente estructura:
1 DELETE clientes, pedidos
FROM clientes JOIN pedidos
WHERE clientes.id_cliente = pedidos. id_cliente AND clientes.id_cliente = 5;
Si las sentencias UPDATE y DELETE afectan a varias tablas no se
pueden utilizar las clausulas ORDER BY y LIMIT.
Si no se utiliza la cláusula WHERE en las sentencias UPDATE y
DELETE esto afectara a todas las filas.