MANUAL SQL
KIPER20 de Junio de 2013
5.104 Palabras (21 Páginas)360 Visitas
Sentencia de SELECT
Una sentencia de SQL más importante es SELECT ya que permite realizar consultas sobre los datos almacenados en la base de datos.
Sintaxis:
SELECT * FROM nombre_tabla
SELECT CAMPOS SELECCIONADOS FROM NOMBRE DE LA TABLA
Ejemplo:
SELECT *FROM EMPLEADOS
SELECT NOM_EMPLEADOS, EDAD_EMPLEADOS FROM EMPLEADOS
COMPONENTES DE SQL
El lenguaje SQL esta compuesto por comandos, clausulas, operadores, y funciones de agregado. Estos elementos se combinan en las extrusiones para crear, actualizar y manipular las BD.
COMANDOS DDL
Create: Utilizado para crear nuevas tablas, campos e índices
SINTAXIS:
CREATE TABLE NOMBRE TABLA (CAMPO1 TIPO DE DATOS, CAMPO2 TIPO DE DATOS, CAMPO3 TIPO DE DATOS);
EJEMPLO
CREATE TABLE HOSPITAL (ID_HOSPITAL INT, NOMBRE_HOSPITAL CHAR (50), NO_EMPLEADOS INT);
DROP: empleado para eliminar tablas e índices.
SINTAXIS:
DROP NOMBRE TABLA (CAMPO1, CAMPO2, CAMPO3);
EJEMPLO:
DROP HOSPITAL (NOM_HOSPITAL, NOM_DOCTOR, EDAD_DOCTOR);
ALEXIS COYOL FLORES
CELENE ZARZA MORALES 412 Página 2
ALTER: utilizados para modificar las tablas agregando campos o cambiando la definición de los campos.
COMANDOS DE DML
SELECT: utilizado para consultar registro de la base de datos un criterio determinado
SINTAXIS:
SELECT * FROM nombre tabla
SELECT CAMPOS SELECCIONADOS FROM NOMBRE DE LA TABLA
EJEMPLO:
SELECT * FROM PEDIDOS
SELECT NOM_PEDIDOS, CANTIDAD_PEDIDOS FROM PEDIDOS
INSERT: utilizado para cargar lotes de datos en la base de datos en una única operación
SINTAXIS:
INSERT INTO NOMBRE TABLA (CAMPOS1, CAMPO2,….)
VALUES (“VALOR1”,”VALOR2”,……)
EJEMPLO:
INSERT INTO HOSPITAL (NOM_HOSPITA, NOM_DOCTOR, NO_EMPLEADOS,)
VALUES (“CLINICA 52”,”JAVIER SUAREZ,”,”548”)
UPDATE: utilizado para modificar los valores de los campos y registros específicos.
SINTAXIS:
UPDATE NOMBRE TABLA SET CAMPO1=VALOR1, CAMPO2=CAMPO2 WHERE CONDICION
EJEMPLO:
UPDATE HOSPITAL SET NOM_HOSPITAL=1 WHERE NOM_DOCTOR=JAVIER)
ALEXIS COYOL FLORES
CELENE ZARZA MORALES 412 Página 3
DELETE: utilizado para eliminar registro de una tabla de una BD.
SIRNTAXIS:
DELETE FROM TABLA WHRE CRITERIO
EJEMPLO:
DELETE FROM EMPLEADOS WHERE CARGO=”VENDEDOR”
CLAUSULAS
Las clausulas son condiciones de modificación utilizadas para definir los datos que a desea manipular.
FROM: utilizada para especificar la tabla de la cual se van a seleccionar los registros.
EJEMPLO:
SELECT * FROM HOSPITAL
WHERE: utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar.
EJEMPLO:
SELECT APELLIDOS, SALARIO FROM EMPLEADOS WHERE SALARIO = 2100
GROUP BY: utilizada para separar los registros utilizados en grupos específicos.
SINTAXIS:
SELECT CAMPOS FROM TABLA WHERE CRITERIO GROUP BY CAMPOS DE GRUPO
EJEMPLO:
SELECT ID_FAMILIA, SUM(STROCK) AS STROCK ACTUD FROM PRODUCTOS GROUP BYE ID_FAMILIA
HAVING: utilizada para expresar la condición que deben satisfacer cada grupo:
EJEMPLO:
ALEXIS COYOL FLORES
CELENE ZARZA MORALES 412 Página 4
SELECT ID_FAMILIA, SUM (STROCK) AS STROCK ACTUD FROM PRODUCTOS GROUP BYE ID_FAMILIA HAVING DETERMINA >100 AND NOM_PRODUCTO LIKE “BOS %”
ODER BY: utilizada para ordenar los registros utilizados de acuerdo a un orden específicos.
SINTAXIS:
SELECT "nombre_columna" FROM "nombre_tabla"[WHERE “CONDICIóN"] ORDER BY "nombre_columna" [ASC, DESC]
EJEMPLO:
SELECT NOM_HOSPITAL, NOM_DOCTOR, EDAD FROM HOSPITAL WHERE ORDER BY NOM_HOSPITAL ASC
OPERADORES LOGICOS
AND: es el que evalúa dos condiciones devuelve un valor solo si ambas son ciertas.
SINTAXIS:
Select "nombre_columna"from "nombre_tabla" where "condición simple" and "condición simple"
EJEMPLO:
SELECT NOM_EMPLEADOS FROM HOSPITAL WHERE 500 AND 600
OR: es el o lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.
SINTAXIS:
Select "nombre_columna" from "nombre_tabla" where "condición simple" and "condición simple"
EJEMPLO:
SELECT NOM_EMPLEADOS FROM HOSPITAL WHERE 500 OR 600
NOT: negación lógica. Devuelve el valor contrario de la expresión.
ALEXIS COYOL FLORES
CELENE ZARZA MORALES 412 Página 5
OPERADORES DE COMPARACION
<: Menor que
>: Mayor que
<>: Distinto que
<=: menor igual
>=mayor igual
=: igual que
BENTWEEN: Utilizado para especificar un intervalo de valores.
SINTAXIS:
Select "nombre_columna" from "nombre_tabla" where "nombre_columna" between 'valor1' and 'valor2'
EJEMPLO:
SELECT NOM_HOSPITAL FROM HOSPITAL WHERE NOM_DOCTOR BETWEEN 2500 AND 2700
LIKE: utilizado la comparación de un modelo.
SINTAXIS:
LIKE “[A-D] %”
EJEMPLO:
LIKE “[E-J] %”
IN: utilizado para especificar un registro de una BD.
Funciones de cálculo o agregado
AVG: utilizada para calcular el promedio de los valores de un campo determinado.
SINTAXIS:
AVG (EXPR)
EJEMPLO:
ALEXIS COYOL FLORES
CELENE ZARZA MORALES 412 Página 6
SELECT AVG (EMPLEADOS) AS HOSPITAL FROM HOSPITAL WHERE EMPLEADOS > 500
COUNT: utilizada para devolver el numero de registros de la selección.
SINTAXIS:
COUNT (EXPR)
EJEMPLO:
SELECT COUNT (*) AS TOTAL FROM HOSPITAL
SUM: utilizada para devolver la suma de todos los valores de un campo determinado.
SINTAXIS:
SUM (EXPR)
EJEMPLO:
SELECT SUM (NUM_EMPLEADOS * SALARIO) FROM HOSPITAL
MAX: utilizada para devolver el valor mas alto de un campo especificado.
SINTAXIS:
MAX (EXPR)
EJEMPLO:
SELECT MAX (SALARIO) FROM HOSPITAL WHERE SALARIO=2100
MIN: utilizada para devolver el valor mas bajo en un valor de un campo especificada.
SINTAXIS:
MIN (EXPR)
EJEMPLO:
SELECT MIN (SALARIO) FROM HOSPITAL WHERE SALARIO=2100
ALEXIS COYOL FLORES
CELENE ZARZA MORALES 412 Página 7
CONSULTAS DE SELECCIÓN BASICAS
Las consultas de selección se utilizan para indicar el motor de datos que devuelve información de las BD, esta información es devuelta en forma de conjuntos de registros que se pueden almacenar en un objeto llamado recordcet. Este conjunto de registros puede ser modificable.
SINTAXIS
SELECT *FROM HOSPITAL
Para seleccionar una lista de campos que se desea recuperar de una tabla, la sintaxis es la siguiente.
SINTAXIS:
SELECT CAMPOS FROM TABLA
EJEMPLO:
SELECT NOM_EMPLEADOS, SALARIO, EDAD_EMPLEADOS FROM HOSPITAL
USANSO ALIAS DE CAMPOS
En determinadas circunstancias es necesario asignar un nombre a alguna columna determinada de un conjunto de vuelta, otras veces por presentación o porque estamos recuperando datos de diferentes tablas y resulta tener un campo con igual nombre. Para resolver datos tenemos la palabra reservada AS que se encarga asignar un nombre que deseamos a la columna deseada.
EJEMPLO:
*SELECT apellido AS empleado FROM empleados
También podemos asignar alias tablas dentro de la consulta de selección, en este caso hay que tener en cuenta que todas las referencias que deseamos hacer a dicha tabla sea de utilizar en filas en lugar del nombre. Esta técnica será de gran utilidad cuando se estudian las vinculaciones entre tablas.
ALEXIS COYOL FLORES
CELENE ZARZA MORALES 412 Página 8
Ejemplo:
Tablacampo se debe utilizar cuando se está recuperando un campo cuyo nombre se repiten en varias de las tablas que se utilizaran en la sentencia. No obstante cuando la sentencia se emplea varias tablas es aconsejable utilizar esta nomenclatura para evitar el trabajo que supone al motor de datos averiguar en que esta tabla está a todo uno de los campos indicados en la cláusula SELECT.
ORDENAR LOS REGISTROS
Adicionalmente se puede especificar el orden con el que se desea recuperar los registros de las tablas mediante la cláusula ORDER BY. Ejemplo:
Select código postal, nombre, teléfono from clientes order by nombre
Asc de la a, z
Desc de la z a la a
CONSULTAS CON PREDICADO
PREDICADO DESCRIPCION
ALL devuelve todos los campos de la tabla
TOP devuelve un determinado número de registros
DISTINCT omite los registros cuyos campos seleccionados coinciden Totalmente
*ALL
Si no se incluye ninguno de los predicados se asume (ALL). El motor de BD. Selecciona todos los
Registros que cumplen las condiciones de la instrucción de SQL y devuelve todos y cada uno de sus campos.
No es conveniente abusar de este predicado ya que obligamos al motor de la BD a analizar la
ALEXIS COYOL FLORES
CELENE ZARZA MORALES 412 Página 9
La estructura de la tabla para averiguar los campos que contiene, es mucho más rápido indicar el Estudio de campos deseados.
...