Professional Documents
Culture Documents
Definiciones de SQL
SQL fue introducido por Oracle por primera vez en una base de datos comercial en el
año 1979.
Se convirtió en un estándar ANSI e ISO dando lugar al SQL-86 o SQL1, que se fue
actualizando a SQL-92 o SLQ2, luego a SQL3 y actualmente (2004) a SQL4.
La versión actual más común del lenguaje es la denominado SQL2 que respecto al
estándar anterior presenta las ventajas de un mayor incremento de la capacidad
expresiva, nuevos operadores añadidos y mejor tratamiento de errores, entre otras.
SQL3 incorpora al lenguaje características propias del paradigma de orientación a
objeto.
• Los orígenes del SQL están ligados a los de las bases de datos relacionales. En
1970 Dr. Edgar Frank Codd, investigador de IBM, propone el modelo relacional y
asociado a este un sub lenguaje de acceso a los datos basado en el cálculo de
predicados.
• SQL
Structured Query Language o Lenguaje de Consultas Estructurado. Es el
lenguaje que permite la comunicación con el Sistema Gestor de Bases de Datos
(Oracle en nuestro caso).
TIPOS DE SENTENCAIAS
Las sentencias SQL pertenecen a dos categorías principales: Lenguaje de Definición
de Datos, DDL y Lenguaje de Manipulación de Datos, DML. Estos dos lenguajes no
son lenguajes en sí mismos, sino que es una forma de clasificar las sentencias de
lenguaje SQL en función de su cometido. La diferencia principal reside en que el DDL
crea objetos en la base de datos y sus efectos se pueden ver en el diccionario de la
base de datos; mientras que el DML es el que permite consultar, insertar, modificar y
eliminar la información almacenada en los objetos de la base de datos.
DML
Un lenguaje de Manipulación de Datos (Data Manipulation Language
(DML)) es un lenguaje proporcionado por el sistema de gestión de base de
datos que permite a los usuarios de la misma llevar a cabo las tareas de
consulta o manipulación de los datos, organizados por el modelo de datos
adecuado.
DML
Mani
pulac
ión
de
datos
SELEC
Recupera datos de la base de datos.
T
INSER Añade nuevas filas de datos a la base de datos.
T
Modifica datos existentes en la base de datos.
UPDAT
E
• SENTENCIA SELECT
La selección sobre una tabla consiste en elegir un subconjunto de filas que cumplan (o no)
algunas condiciones determinadas. La sintaxis de una sentencia de este tipo es la siguiente:
• SENTENCIA UPDATE
Actualiza valores de una o más columnas para un subconjunto de filas de una tabla.
UPDATE <nombre-tabla>
SET <columna1> = valor1 [, <columna2> = valor2...?
[WHERE <condición>?
Actualiza los campos correspondientes junto con los valores que se le asignen, en el
subconjunto de filas que cumplan la condición de selección. Si no se pone condición de
selección, la actualización se da en todas las filas de la tabla.
Si se desea actualizar a nulos, se asignará el valor NULL.
• SENTENCIA INSERT
Añade filas a una tabla. Posee varios formatos posibles:
El orden en el que se asignen los valores en la cláusula VALUES tiene que coincidir con el
orden en que se definieron las columnas en la creación del objeto tabla, dado que los valores
se asignan por posicionamiento relativo.
En este caso los valores se asignarán a cada una de las columnas mencionadas por
posicionamiento relativo, siendo necesario que por lo menos se asignen valores a todas
aquellas columnas que no admiten valores nulos en la tabla.
Para insertar un subconjunto de filas de una tabla en otra se escribe una sentencia INSERT
con una SUBSELECT interna. Los formatos posibles son:
Asigna a las columnas los valores recuperados en la sentencia Select. Inserta en la tabla todas
las filas que se recuperen en la Select.
DDL
Lenguaje de Definición de Datos, Operaciones
básicas.
Las principales funcionalidades de SQL como lenguaje de definición (DDL) son la
creación, modificación y borrado de las tablas que componen la base de datos, así
como de los índices, vistas, sinónimos, permisos, etc.
SENTENCIA DESCRIPCIÓN
DDL
Mani
pulac
ión
de
datos Añade una nueva tabla a la base de datos.
CRAET
E Suprime una tabla de la base de datos.
DROP
ALTER Modifica la estructura de una tabla existente.
La selección sobre una tabla consiste en elegir un subconjunto de filas que cumplan (o no)
algunas condiciones determinadas. La sintaxis de una sentencia de este tipo es la siguiente:
Ejercicio
Consultas en access
Consulta1 Seleccionar nombre de país
SELECT nombre
FROM país
SELECT nombre
FROM depto
SELECT nombre
FROM ciudad
SELECT pais.nombre,depto.nombre
FROM pais,depto
WHERE pais.idpais=depto.idpais
SELECT pais.nombre,depto.nombre
FROM pais,depto
WHERE pais.idpais=depto.idpais;
SELECT pais.nombre,ciudad.nombre
FROM pais,ciudad
WHERE pais.idciudad=ciudad.idciudad;
Consulta7 selec nombre del departamento y depto
SELECT depto.nombre,ciudad.nombre
FROM depto,ciudad
WHERE depto.idciudad=ciudad.idciudad;
SELECT ciudad.nombre
FROM ciudad,pais
WHERE ciudad.idciudad=pais.idciudad;
SELECT ciudad.nombre
FROM ciudad,depto
WHERE ciudad.idciudad=depto.idciudad;
Consulta10 selec cione nombre de la ciudad que son capital del país y
aseves su
Departamento
SELECT ciudad.nombre
FROM ciudad,depto,pais
WHERE ciudad.idciudad=depto.idciudad AND
pais.idciudad=ciudad.idciudad;
Funciones de agregado
las funciones de agregado permiten hacer operaciones sobre los campos y devolver el
resultado de esta
Ejemplo:
SELECT nombre,max (valorunitario) as maximovalor
FROM producto
group by nombre,valorunitario
having max(valorunitario)>3000;
Ejemplo:
select sum: utilizado para devolver la suma de todos los valores de un campo determinado
Ejemplo:
Ejemplo:
SELECT paciente.nombre
FROM paciente
WHERE paciente.nombre like"J*";
n
Las funciones de cadena trabajan con campos char y varchar por lo que los literales
que escribamos se deben encerrar entre comillas simples.
Función Propósito
Nos devuelve el carácter cuyo valor en binario es
CHR(n)
n
CONCAT(cad1, cad2) Nos devuelve cad1 concatenada con cad2
UPPER(cad) Convierte cad a mayúsculas
LOWER(cad) Convierte cad a minúsculas
Con esta función añadimos caracteres a cad1 por
LPAD(cad1,n[,cad2]) la izquierda hasta una longitud máxima dada por
n
INITCAP(cad) Convierte la primera letra de cad a mayúscula
Elimina un conjunto de caracteres a la izquierda
LTRIM(cad [,set]) de cad, siendo set el conjunto de caracteres a
eliminar
Con esta función añadimos caracteres de la
RPAD(cad1, n[,cad2]) misma forma que con la función LPAD pero esta
vez los añadimos a la derecha
RTRIM(cad[,set]) Hace lo mismo que LTRIM pero por la derecha
Sustituye un conjunto de caracteres de 0 o más
REPLACE(cad,cadena_buscada caracteres, devuelve cad con cada ocurrencia de
[,cadena_sustitucion] ) cadena_buscada sustituida por
cadena_sustitucion
Devuelve la subcadena de cad que abarca desde
SUBSTR(cad, m[,n])
m hasta el numero de caracteres dados por n.
Convierte caracteres de una cadena en
caracteres diferentes. Devuelve cad1 con los
TRANSLATE(cad1,cad2,cad3)
caracteres encontrados en cad2 y sustituidos por
los caracteres de cad3
Sentencia sql que nos devuelve las letras cuyo valor asccii es el 45 y el 23
Sentencia sql que obtiene el nombre de los alumnos sacando por pantalla la siguiente
frase: el nombre del alumno es (nombre que esta almacenado en la tabla)
Como con las funciones anteriores dejamos unos ejemplos para que veáis su
funcionamiento.
Sentencia que nos devuelve la posición de la ocurrencia 'pe' dentro de la cadena 'Los
perros están bien' a partir de la posición 2
Sentencia sql que nos devuelve el numero de caracteres de los nombres de los
alumnos
Siguiente son todas las funciones matemáticas disponibles en la base de datos McKoi. Tenga en cuenta que
algunas de estas funciones puede perder precisión, ya que el número podría ser emitidos a un "doble". Usted
puede asumir todas las funciones matemáticas que tienen en el peor de la precisión de un "doble".
DATEOB (date_string)
Analiza una cadena a un objeto Fecha que se puede utilizar en las consultas contra TIMESTAMP / FECHA /
TEMNE columnas. DATEOB sin argumentos devuelve la hora actual de la máquina ejecutando la base de
datos.
Desde la versión 0.92 de esta función ha quedado obsoleto. Usar la fecha normal, y TIMESTAMP TEMNE
literales especificado en lugar de SQL-92.
Ejemplos:
SELECCIONE DATEOB ()
==> Mar Ago 09 11:49:31 GMT 2000
SELECCIONE DATEOB (1 de agosto de 2000 »)
==> Mar Ago 01 00:00:00 GMT 2000
Seleccionar el número de pedidos
DÓNDE date_made> = DATEOB (1 de enero de 2000 »)
Las funciones de Fecha/Hora provee un poderoso conjunto de herramientas para manipular varios tipos
Date/Time.
http://www.miliuco.net/docs/oracle_select.htm
http://www.diclib.com/cgibin/d1.cgi?l=es&base=es_wiki_10&page=showid&id=50789
http://www.pergaminovirtual.com.ar/definicion/SQL.html
http://www.alegsa.com.ar/Dic/sql.php
http://www.infor.uva.es/~jvegas/cursos/bd/sqlplus/sqlplus.html#terminologia
http://www.infor.uva.es/~jvegas/cursos/bd/sqlplus/sqlplus.html#terminologia
http://www.cs.us.es/cursos/bd-2001/temas/sql_I.html
http://diccionario.babylon.com/SQL
http://www.alegsa.com.ar/Dic/sql.php
http://es.tldp.org/Postgresql-es/web/navegable/user/x2484.html
http://translate.google.com.co/translate?hl=es&langpair=en|
es&u=http://mckoi.com/database/InternalFunctions.html&prev=/translate_s%3Fhl%3D
es%26q%3DFunciones%2Bmatem%25C3%25A1ticas%2Ben%2BSQL%26tq%3DMathe
matical%2BFunctions%2Bin%2BSQL%26sl%3Des%26tl%3Den