Vous êtes sur la page 1sur 6

INTRODUCCION A SQL

Oracle fue la primera compaa que sac al mercado un producto que us el lenguaje estructurado de consulta
basado en el idioma Ingls, o SQL. SQL le permite a los usuarios finales etraer informacin por ellos mismos,
sin que tengan que usar un lenguaje de programacin para cada pequeo reporte o informe. SQL, el cual se
pronuncia en el medio inform!tico como "siqual", o sencillamente en sus siglas "S Q L" es una #erramienta
increblemente capa$. %sarlo no requiere eperiencia pre&ia en programacin.
SQL es el lenguaje '(SI )'merican (ational Standards Institute* est!ndar de la industria, usado para
manipular informacin en una base de datos relacional. +ste lenguaje es mu, simple, a-n as poderoso, no
procedimental, a diferencia de lenguajes como . o .O/OL en los cuales se debe describir eactamente como
acceder , manipular los datos. SQL especifica que #a, que #acer. Internamente, el lenguaje determina como
ejecutar las requisiciones que se le ordenen. 0odas las operaciones ejecutadas en la base de datos son
desarrolladas usando sentencias de SQL. 1ara ello, se usan dos tipos de comandos en SQL, los 22L )2ata
2efinition Language 3 Lenguaje de 2efinicin de 2atos* que permiten crear , definir nue&as bases de datos,
campos e ndices. 4 los 25L )2ata 5anipulation Language 3 Lenguaje de 5anipulacin de 2atos* que
permiten generar consultas para ordenar, filtrar , etraer datos de la base de datos, al igual que actuali$ar o
borrar los datos de una tabla.
+iste un tercer grupo de comandos los 2.L )2ata .ontrol Language 6 Lenguaje de .ontrol 2atos* que
permiten definir permisos de acceso a la base de datos.
CARACTERSTICAS DEL LENGUAJE ESTRUCTURADO DE CONSULTA
SQL
' manera de resumen, podemos enunciar las siguientes caractersticas de SQL7
+s un lenguaje basado en el idioma Ingls que usa frases en ingls para manipular la base de datos.
+s no procedimental. %sted especifica la informacin requerida, m!s no las operaciones o la forma de
llegar a la informacin. .ada 82/5S tiene un optimi$ador de b-squedas, el cual traduce sus cl!usulas
en SQL , elabora el camino o la ruta ptima para llegar a los datos.
.uando se trabaja con los datos, todas las filas afectadas por los comandos se tratan como un solo
bloque, no son tratadas una por una
'dicionalmente, SQL permite que los resultados de una consulta sean los datos de entrada para una
nue&a.
COMPONENTES DEL SQL
+l lenguaje SQL est! compuesto por comandos, cl!usulas, operadores , funciones de agregado. +stos
elementos se combinan en las instrucciones para crear, actuali$ar , manipular las bases de datos.
COMANDOS
+isten dos tipos de comandos SQL que nos interesa utili$ar7
Los 22L que permiten crear , definir nue&as bases de datos, campos e ndices.
Los 25L que permiten generar consultas para ordenar, filtrar , etraer datos de la base de datos.
0ambin est!n los comandos 2.L, pero quedan como objeto de consulta pues no se trabajaran en el curso.
Comandos DDL
Comando Descripcin
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 definicin de los campos.
Comandos DML
Comando Descripcin
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 operacin.
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
CL!USULAS
Las cl!usulas son condiciones de modificacin utili$adas para definir los datos que desea seleccionar o
manipular.
CLAUSULAS
C"#$s$"a Descripcin
%ROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros
&'ERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar
GROUP () Utilizada para separar los registros seleccionados en grupos especficos
'A*ING Utilizada para expresar la condicin que debe satisfacer cada grupo
ORDER () Utilizada para ordenar los registros seleccionados de acuerdo con un orden especfico
TIPOS DE DATOS
Las tablas son los &e#culos de almacenamiento dentro de una base de datos relacional. Las columnas de la
tabla definen las caractersticas de los datos , a su &e$ le otorgan un nombre a los datos.
Las caractersticas de la columna, as como las &ariables , las constantes, est!n definidas por un tipo de datos ,
una longitud. +l tipo de dato es un arreglo est!tico de propiedades con un &alor predefinido. +sas propiedades
#acen que el sistema administre a un tipo de datos de manera diferente como lo #ace con otro.
TIPOS DE DATO
Tipo Descripcin
C'AR Una columna C!" debe tener un anc#o fi$o y puede contener cualquier car%cter imprimible. !nc#o fi$o significa que si el dato ingresado es de
una longitud menor a la definida, entonces el campo es rellenado con espacios. El m%ximo tama&o de una columna C!" es de '(b
)(ilobytes*.
DATE Una columna +!,E puede contener una fec#a y #ora entre el rango del - de enero de ./-' !.C. #asta el 0- de +iciembre de ./-' +.C. El
formato estandar de la fec#a es ++122213333 )4-15E61'44.*
DECIMAL 7os campos decimales pueden contener dgitos de 4 a 8, y opcionalmente un smbolo de negativo. 9o se admiten valores fraccionarios.
%LOAT El tipo de datos 57:!, es el mismo tipo que 9U26E".
NUM(ER Una columna 9U26E" puede contener un nmero, con o sin punto decimal y signo negativo, y puede tener desde - a -4; dgitos decimales
de los cuales solo 0< son significativos.
INTEGER Este tipo de dato es el mismo 9U26E", con la excepcin que solo pueden ser especificados valores enteros.
LONG El tipo de datos 7:9= puede contener caracteres #asta '=b de tama&o. >olo puede #aber una columna 7:9= por tabla.
RA& 7as columnas "!? pueden almacenar binarios como im%genes gr%ficas. El m%ximo tama&o es de '(b.
LONG RA& Es el mismo tipo de datos "!? pero con mayor tama&o.
*ARC'AR Una columna @!"C!" es de longitud variable, pero se debe especificar un anc#o fi$o. >i el dato ingresado es menor al anc#o predefinido, la
columna no es rellenada con espacios sino que se a$usta a la longitud del dato.
(LO( Auede almacenar datos binarios #asta . =b.
OPERADORES ) CONDICIONES
Los operadores , las condiciones son usados para ejecutar operaciones, tales como la suma , la resta, o
comparaciones entre los datos a tra&s de una sentencia de SQL. Los operadores son representados por
caracteres simples o por palabras reser&adas.
%na condicin es una epresin de &arios operadores que al ser e&aluada retornar! 9+82'2+8O, :'LSO o
2+S.O(O.I2O.
Los operadores , las condiciones son necesarios en cualquier lenguaje de computacin. +llos te permiten
ejecutar c!lculos aritmticos, comparaciones de datos, , una amplia &ariedad de manipulaciones de datos que
son necesarios para soportar los requerimientos de las aplicaciones.
OPERADORES MATEMATICOS
Los operadores aritmticos son usados en SQL para sumar, restar, multiplicar, di&idir , negar &alores. +l
resultado de una epresin que use operadores aritmticos es un &alor numrico.
Operador Uso
+, -
+enota una expresin positiva o negativa. Estos son operadores unitarios )Unitario quiere decir
que solo operan sobre un operando, por e$emplo, para indicar que un nmero es negativo se usa
el signo B1B delante del nmero*.
. 2ultiplica. Este es un operador 6inario. )6inario quiere decir que se necesitan dos operandos*.
/ +ivide. Este es un operador 6inario.
+ >uma. Este es un operador 6inario.
- "esta. Este es un operador 6inario
OPERADORES DE CARCTER
Las cadenas de caracteres son manipuladas por los operadores de car!cter. +l m!s com-n de los operadores de
car!cter es el operador de concatenacin.
Operador Uso
00 Concatena cadenas de caracteres.
+l resultado de concatenar dos cadenas de car!cter es otra cadena de car!cter. Si ambas cadenas son del mismo
tipo de datos, la cadena resultante ser! del mismo tipo de datos original.
OPERADORES DE COMPARACIN
Los operadores de comparacin son usados para comparar una epresin contra otra epresin. +l resultado de
la comparacin debe conducir a un &alor :also, 9erdadero o 2esconocido.
Operador Uso
1 2enor que
2 2ayor que
12 +istinto de
13 2enor Cgual que
23 2ayor Cgual que
43 9o igual a
3 Cgual que
(ET&EEN 5 AND ) 2ayor o igual a D y menor igual a 3
LI6E "etorna verdadero cuando la primera expresin corresponde el patrn de la segunda
IN Cgual a cualquier miembro de
NOT IN 9o igual a cualquier miembro de
IS NULL Es nulo
IS NOT NULL 9o es nulo
ALL Compara un valor dado con todos los valores de una lista dada
AN), SOME Compara un valor dado con cada valor de una lista dada
E5ISTS "etorna verdadero si la consulta devuelve por lo menos una fila
OPERADORES LGICOS
Los operadores lgicos son usados para producir un resultado simple a partir de la combinacin de dos
condiciones por separado.
Operador Uso
AND Es el ByB lgico. Evala dos condiciones y devuelve un valor de verdad slo si ambas son ciertas.
OR Es el BoB lgico. Evala dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.
NOT 9egacin lgica. +evuelve el valor contrario de la expresin.
OPERADORES DE ARREGLO
Los operadores de arreglo )S+0 O1+8'0O8S* combinan el resultado de dos consultas en un -nico resultado
simple. Las consultas que contengan operadores de arreglo son conocidas como consultas compuestas.
Operador Uso
UNION "etorna todas las filas nicas )distintas* de cada consulta. )sin duplicados*
UNION ALL "etorna todas las filas de cada consulta, incluyendo las duplicadas.
INTERSECT "etorna solo las filas que cumplen simult%neamente los criterios de ambas consultas.
MINUS "etorna todas las filas distintas que est%n en la primera consulta y que asu vez no estEn en la segunda consulta.
CONSULTAS
CONSULTA DE SELECCIN
Las consultas de seleccin se utili$an para indicar al motor de datos que de&uel&a informacin de las bases de
datos, esta informacin es de&uelta en forma de conjunto de registros que se pueden almacenar en un objeto
RECORDSET. +ste conjunto de registros es modificable.
+l comando utili$ado para este tipo de consulta es SELECT. +ste comando recupera datos almacenados en las
filas , columnas de las tablas de una base de datos a tra&s de procedimientos llamados consultas. %na consulta
tiene tres partes principales7 La cl!usula SELECT, la cl!usula FROM, , la cl!usula WHERE.
1or lo tanto, la sintais b!sica de una consulta de seleccin es la siguiente7
SELECT .ampos FROM 0abla WHERE .ampo; < .riterio
+n donde 7
Campos es la lista de campos que se deseen recuperar
Tabla es el origen de los mismos
Campo2 es el campo que condiciona el resultado
Criterio es el &alor que debe tener el .ampo;.
1or ejemplo7
SELECT (ombre, 'pellido, 0elefono FROM .lientes WHERE .iudad < "/arranquilla"=
+sta consulta de&uel&e un RECORDSET con los campos (ombre, 'pellido , 0elfono de la tabla .lientes,
que sean de la ciudad de /arranquilla. (tese que la cl!usula WHERE puede omitirse. Si se omite, la consulta
retornar! todos los (ombres, 'pellidos , 0elfonos de la tabla cliente, de todas las ciudades.
+n general, podemos generali$ar la sintais del comando SELECT como
SELECT Lista de campos
FROM Lista de 0ablas
WHERE .ondiciones de /-squeda
+>+51LOS
Supongamos que tenemos una tabla llamada +51L+'2OS con la siguiente estructura, la cual contiene ?@@@
registros.
CEDULA NOM(RE APPELLIDO CORREO DIRECCION TELE%ONO CIUDAD EDAD SUELDO
Queremos #acer una consulta que nos de&uel&a solamente el nombre , el apellido de las personas de la ciudad
de /ogot!. +l comando con sus cl!usulas quedara de la siguiente manera7
SELECT (O5/8+, '1+LLI2O FROM +51L+'2OS WHERE .I%2'2 < "/ogot!"=
'#ora, queremos #acer una consulta que nos de los mismos datos anteriores, pero que adem!s nos muestre las
personas de /arranquilla.
SELECT (O5/8+, '1+LLI2O FROM +51L+'2OS WHERE ).I%2'2 < "/ogot!" O8 .I%2'2 <
"/arranquilla"*=
'#ora queremos las cedulas, los nombres, los apellidos , los telfonos solamente de las personas que &i&an en
5edelln, , que tengan edad entre ;@ , A@ aos.
SELECT .+2%L', (O5/8+, '1+LLI2O, 0+L+:O(O FROM +51L+'2OS WHERE ).I%2'2 <
"5edelln" AND +2'2 B ;@ AND +2'2 C A@*=
'#ora queremos la misma informacin anterior, pero que apare$ca ordenada por el apellido.
SELECT .+2%L', (O5/8+, '1+LLI2O, 0+L+:O(O FROM +51L+'2OS WHERE ).I%2'2 <
"5edelln" AND +2'2 B ;@ AND +2'2 C A@* ORDER BY '1+LLI2O=
+sta misma consulta se puede #acer usando el operador BETWEEN.
SELECT .+2%L', (O5/8+, '1+LLI2O, 0+L+:O(O FROM +51L+'2OS WHERE ).I%2'2 <
"5edelln" AND +2'2 /+0D++( ;@ AND A@* O82+8 /4 '1+LLI2O=
'#ora #aremos una consulta mas compleja. Queremos nombre, apellido , telfono, de las personas residentes
en .ali, /ucaramanga, .-cuta , 1ereira que sean ma,ores de E@ aos, , que de&enguen un sueldo superior a
FA?@.@@@, , que ordene la lista por el &alor del sueldo.
SELECT (O5/8+, '1+LLI2O, 0+L+:O(O FROM +51L+'2OS WHERE ).I%2'2 IN
)".ali","/ucaramanga",".-cuta","1ereira"* AND +2'2 B E@ AND S%+L2O B A?@@@@*ORDER BY
S%+L2O=
1or ultimo, #aremos un SELECT m!s fuerte. Queremos la informacin del punto anterior, pero esta &e$ nos
debe mostrar los resultados agrupados por ciudades, respetando el ordenamiento por sueldo. +s decir, nos
mostrara E grupos de resultados, uno por cada ciudad de la lista, , cada grupito estara ordenado por sueldo.
SELECT (O5/8+, '1+LLI2O, 0+L+:O(O FROM +51L+'2OS WHERE ).I%2'2 IN
)".ali","/ucaramanga",".-cuta","1ereira"* AND +2'2 B E@ '(2 S%+L2O B A?@@@@*ORDER BY
S%+L2O GRO! BY .I%2'2=
(tese que simplemente agregamos el operador GRO! BY. 4 ntese adem!s que no #a, necesidad que
.I%2'2 este dentro de la lista de campos de SELECT para que el agrupamiento se #aga.
Como p"e#e$ obser%ar& S'L es "$ le$("a)e e*trema#ame$te se$+illo, E$ la pr-*ima "$i#a#
%eremos +oma$#os DDL& ."e $os permitir/$ +rear tablas& borrar tablas& 0 el resto #e los
+oma$#os DML& ."e $os permitir/$ i$sertar& a+t"ali1ar 0 borrar re(istros e$ "$a tabla,

Vous aimerez peut-être aussi