Professional Documents
Culture Documents
Las tablas son la estructura bsica donde se almacena la informacin en la base de datos. Dado
que en la mayora de los casos, no hay forma de que el proveedor de base de datos sepa con
antelacin cuales son sus necesidades de almacenamiento de datos, es probable que
necesite crear tablas en la base de datos usted mismo. Muchas herramientas de base de datos le
permiten crear tablas sin ingresar SQL, pero debido a que las tablas son los contenedores de toda
la informacin, es importante incluir la sintaxis CREATE TABLE en esta gua de referencia.
Antes de sumergirnos en la sintaxis SQL para CREATE TABLE, es una buena idea comprender lo
que se incluye en una tabla. Las tablas se dividen en filas y columnas. Cada fila representa una
parte de los datos, y cada columna puede pensarse como la representacin de un componente de
aquella parte de los datos. Entonces, por ejemplo, si tenemos una tabla para registrar la
informacin
del cliente, las
columnas
pueden
incluir
informacin
tal
como Primer Nombre, Apellido, Direccin, Ciudad, Pas,Fecha de Nacimiento y
dems.
Como resultado, cuando especificamos una tabla, incluimos los ttulos de columna y los tipos de
datos para esta columna en particular.
Entonces Qu son los tipos de datos? Generalmente, los datos se generan en formas variadas.
Podra ser un entero (tal como 1), un nmero real (tal como 0,55), una lnea (tal como 'sql'), una
fecha/expresin de tiempo (tal como '25-ene-2000 03:22:22'), o incluso en formato binario. Cuando
especificamos una tabla, necesitamos especificar el tipo de dato asociado con cada columna
(es decir, especificaremos que First_Name es de char(50) tipo lo que significa que es una lnea
con 50 caracteres). Una cosa a tener en cuenta es que las diferentes bases de datos relacionales
permiten diferentes tipos de datos, entonces es prudente consultar primero una referencia
especfica de base de datos.
La sintaxis SQL para CREATE TABLEes
CREATE TABLE "nombre_tabla"
("columna 1" "tipo_de_datos_para_columna_1",
"columna 2" "tipo_de_datos_para_columna_2",
... )
Entonces, si debemos crear una tabla para el cliente tal como se especifica anteriormente,
ingresaramos
CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)
A veces, deseamos brindar un valor predeterminado a cada columna. Se utiliza un valor
predeterminado cuando no especifica un valor de columna cuando ingresa datos a la tabla. Para
establecer un valor predeterminado, agregue [valor] Predeterminado luego de la instruccin de
tipo de datos. En el ejemplo anterior, si deseamos predeterminar una columna Address como
Desconocida y Ciudad como Mumbai, ingresaramos
CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50) default 'Unknown',
City char(50) default 'Mumbai',
Country char(25),
Birth_Date date)
1
Tambin puede limitar el tipo de informacin que una tabla /columna puede mantener. Esto se
realiza a travs de la palabra clave CONSTRAINT, que se describe a continuacin.
NOT NULL
- UNIQUE
- CHECK
- Clave primaria
- Clave externa
Cada uno se describe en detalle a continuacin.
NOT NULL
En forma predeterminada, una columna puede ser NULL. Si no desea permitir un valorNULL en
una columna, querr colocar una restriccin en esta columna especificando que NULL no
es ahora un valor permitido.
Por ejemplo, en la siguiente instruccin,
CREATE TABLE Customer
(SID integer NOT NULL,
Last_Name varchar (30) NOT NULL,
First_Name varchar(30));
Las columnas SID y Last_Name no incluyen NULL, mientras que First_Name puede incluir
NULL.
UNIQUE
La restriccin UNIQUE asegura que todos los valores en una columna sean distintos.
Por ejemplo, en la siguiente instruccin,
CREATE TABLE Customer
(SID integer Unique,
Last_Name varchar (30),
First_Name varchar(30));
La columna SID no puede incluir valores duplicados, mientras dicha restriccin no se aplica para
columnas Last_Name y First_Name.
Por favor note que una columna que se especifica como clave primaria tambin puede ser nica. Al
mismo tiempo, una columna que es nica puede o no ser clave primaria.
CHECK
La restriccin CHECK asegura que todos los valores en una columna cumplan ciertas condiciones.
Por ejemplo, en la siguiente instruccin,
CREATE TABLE Customer
(SID integer CHECK (SID > 0),
Last_Name varchar (30),
First_Name varchar(30));
es que todos los pedidos deben asociarse con un CUSTOMER que ya se encuentra en la tabla
CUSTOMER. En este caso, colocaremos una clave externa en la tabla ORDERS y la
relacionaremos con la clave primaria de la tabla CUSTOMER. De esta forma, nos aseguramos que
todos los pedidos en la tabla ORDERS estn relacionadas con un CUSTOMER en la tabla
CUSTOMER. En otras palabras, la tabla ORDERS no puede contener informacin de un
CUSTOMER que no se encuentre en la tabla CUSTOMER.
La estructura de estas dos tablas ser la siguiente:
Tabla CUSTOMER
nombre de columna caracterstica
SID
Clave Primaria
Last_Name
First_Name
Tabla ORDERS
nombre de columna caracterstica
Order_ID
Clave Primaria
Order_Date
Customer_SID
Clave Externa
Amount
MySQL:
ALTER TABLE ORDERS
ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(SID);
Oracle:
ALTER TABLE ORDERS
ADD (CONSTRAINT fk_orders1) FOREIGN KEY (customer_sid) REFERENCES
CUSTOMER(SID);
SQL Server:
ALTER TABLE ORDERS
ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(SID);
Las vistas pueden considerarse como tablas virtuales. Generalmente hablando, una tabla tiene
un conjunto de definiciones, y almacenadatos fsicamente. Unavista tambin tiene un conjunto de
definiciones, que se construye en la parte superior de la(s) tabla(s) u otra(s) vista(s), y no almacena
datos fsicamente.
La sintaxis para la creacin de una vista es la siguiente:
CREATE VIEW "NOMBRE_VISTA" AS "Instruccin SQL"
La Instruccin SQL puede ser cualquiera de las instrucciones SQL que hemos descripto en esta
gua de referencia.
Utilicemos un ejemplo simple para ilustrar. Supongamos que tenemos la siguiente tabla:
Tabla Customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)
y deseamos crear una vista denominada V_Customer que contiene slo las columnas First_Name,
Last_Name y Pas de esta tabla, ingresaramos
CREATE VIEW V_Customer
AS SELECT First_Name, Last_Name, Country
FROM Customer
Ahora tenemos una vista llamada V_Customer con la siguiente estructura:
View V_Customer
(First_Name char(50),
Last_Name char(50),
Country char(25))
Podemos utilizar tambin una vista para aplicar uniones a dos tablas. En este caso, los usuarios
slo ven una vista en vez de dos tablas, y la instruccin SQL que los usuarios necesitan emitir se
vuelve mucho ms simple. Digamos que tenemos las siguientes dos tablas:
Tabla Store_Information
store_name Sales
Date
5
250 07-Jan-1999
Los Angeles
300 08-Jan-1999
Boston
700 08-Jan-1999
Tabla Geography
region_name store_name
East
Boston
East
New York
West
Los Angeles
West
San Diego
y deseamos construir una vista que tenga ventas organizadas segn la regin. Colocaramos la
siguiente instruccin SQL:
CREATE VIEW V_REGION_SALES
AS SELECT A1.region_name REGION, SUM(A2.Sales) SALES
FROM Geography A1, Store_Information A2
WHERE A1.store_name = A2.store_name
GROUP BY A1.region_name
Esto nos brinda una vista, V_REGION_SALES, que se ha definido para las ventas de los negocios
segn los registros de la regin. Si deseamos saber el contenido de esta vista, ingresamos,
SELECT * FROM V_REGION_SALES
Resultado:
REGION SALES
East
700
West
2050
Los ndices nos ayudan a obtener datos de las tablas en forma ms rpida. Utilicemos un
ejemplo para ilustrar este punto: Digamos que estamos interesados en leer en un libro de jardinera
acerca de cmo cultivar pimientos. En vez de leer el libro desde el comienzo hasta que
encontremos una seccin sobre pimientos, es mucho ms rpido para nosotros ir a la seccin
ndice al final del libro, ubicar qu pginas contienen la informacin sobre pimientos, y luego
dirigirnos a esas pginas directamente. Al dirigirnos al ndice primero ahorramos tiempo y
seguramente es el mtodo ms eficiente para ubicar la informacin que necesitamos.
El mismo principio se aplica para la obtencin de datos desde una tabla de base de datos. Sin un
ndice, el sistema de base de datos lee a travs de toda la tabla (este proceso se denomina
escaneo de tabla) para localizar la informacin deseada. Con el ndice correcto en su lugar, el
sistema de base de datos puede entonces primero dirigirse al ndice para encontrar de dnde
obtener los datos, y luego dirigirse a dichas ubicaciones para obtener los datos necesarios. Esto es
mucho ms rpido.
Por lo tanto, generalmente se recomienda crear ndices en tablas. Un ndice puede cubrir una o
ms columnas. La sintaxis general para la creacin de un ndice es:
CREATE INDEX "NOMBRE_NDICE" ON "NOMBRE_TABLA" (NOMBRE_COLUMNA)
Digamos que tenemos la siguiente tabla:
6
Tabla Customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)
Si deseamos crear un ndice tanto en Ciudad como en Pas, ingresaramos,
CREATE INDEX IDX_CUSTOMER_LAST_NAME
on CUSTOMER (Last_Name)
Pour crer un index dans City et Country, il faut saisir
CREATE INDEX IDX_CUSTOMER_LOCATION
on CUSTOMER (City, Country)
No hay una regla estricta respecto de cmo nombrar un ndice. El mtodo generalmente aceptado
es colocar un prefijo, tal como IDX_, antes del nombre de un ndice para evitar la confusin con
otros objetos de la base de datos. Tambin es una buena idea brindar informacin sobre qu tabla
y columna(s) se utilizar el ndice.
Por favor note que la sintaxis exacta para CREATE INDEX puede ser distinta segn las
diferentes bases de datos. Debera consultar con su manual de referencia de base de datos para
obtener la sintaxis precisa
Una vez que se crea la tabla en la base de datos, hay muchas ocasiones donde uno puede desear
cambiar la estructura de la tabla. Los casos tpicos incluyen los siguientes:
- Agregar una columna
- Eliminar una columna
- Cambiar el nombre de una columna
- Cambiar el tipo de datos para una columna
Por favor note que lo anterior no es una lista exhaustiva. Hay otras instancias donde ALTER
TABLE se utiliza para cambiar la estructura de la tabla, tales como cambiar la especificacin de
la clave primaria o agregar una restriccin nica para una columna.
La sintaxis SQL para ALTER TABLE es
ALTER TABLE "nombre_tabla"
[modificar especificacin]
[modificar especificacin] depende del tipo de modificacin que deseamos realizar. Para los usos
mencionados anteriormente, las instrucciones [modificar especificacin] son:
Recorramos ejemplos para cada uno de lo anteriormente mencionado, utilizando la tabla cliente
creada en la seccin CREATE TABLE, il convient de se reporter aux exemples mentionns cidessus.
Tabla customer
Column Name Data Type
First_Name
char(50)
Last_Name
char(50)
Address
char(50)
City
char(50)
Country
char(25)
Birth_Date
date
Primero, deseamos agregar una columna denominada Gender a esta tabla. Para hacerlo,
ingresamos,
ALTER table customer add Gender char(1)
Estructura de la tabla resultante:
Table customer
Column Name Data Type
First_Name
char(50)
Last_Name
char(50)
Address
char(50)
City
char(50)
Country
char(25)
Birth_Date
date
Gender
char(1)
char(50)
Last_Name
char(50)
Addr
char(50)
City
char(50)
Country
char(25)
Birth_Date
date
Gender
char(1)
Luego, lo que queremos es cambiar el tipo de datos para Addr a 30 caracteres. Para hacerlo,
ingresamos,
ALTER table customer modify Addr char(30)
Estructura de la tabla resultante:
Table customer
Column Name Data Type
First_Name
char(50)
Last_Name
char(50)
Addr
char(30)
City
char(50)
Country
char(25)
Birth_Date
date
Gender
char(1)
char(50)
Last_Name
char(50)
Addr
char(30)
City
char(50)
Country
char(25)
Birth_Date
date
A veces podemos decidir que necesitamos eliminar una tabla en la base de datos por alguna
razn. De hecho, sera problemtico si no podemos hacerlo ya que esto creara una pesadilla
de mantenimiento para DBA. Afortunadamente, SQL nos permite hacerlo, ya que podemos utilizar
el comando DROP TABLE . La sintaxis para DROP TABLE es
DROP TABLE "nombre_tabla"
Entonces, si deseamos eliminar una tabla denominada cliente que creamos en la seccin CREATE
TABLE, simplemente ingresamos
DROP TABLE customer.
A veces deseamos eliminar los datos en una tabla. Una forma de hacer esto es con
DROP TABLE , que vimos en la ltima seccin Pero Si deseamos simplemente deshacernos de
los datos pero no de la tabla en s? Para esto, podemos utilizar el comando TRUNCATE TABLE.
La sintaxis para TRUNCATE TABLE es
TRUNCATE TABLE "nombre_tabla"
9
Entonces, si deseamos truncar una tabla denominada cliente que creamos en SQL CREATE
TABLE, simplemente ingresamos
TRUNCATE TABLE customer
En las secciones anteriores, hemos visto cmo obtener informacin de tablas. Pero Cmo se
ingresan estas filas de datos en estas tablas en primer lugar? Esto es lo que se trata en esta
seccin, que explica la instruccin INSERT, y en la siguiente seccin, que explica la instruccin
UPDATE.
En SQL, hay fundamental y bsicamente dos formas para INSRER datos en una tabla: Una es
insertar una fila por vez, y la otra es insertar filas mltiples por vez. Primero
observemos como podemos INSRER datos a travs de una fila por vez:
La sintaxis para insertar datos en una tabla mediante una fila por vez es la siguiente:
INSERT INTO "nombre_tabla" ("columna1", "columna2", ...)
VALUES ("valor1", "valor2", ...)
Suponiendo que tenemos una taba con la siguiente estructura,
Tabla Store_Information
Column Name Data Type
store_name
char(50)
Sales
float
Date
datetime
y ahora deseamos insertar una fila adicional en la tabla que represente los datos de ventas para
Los ngeles el 10 de enero de 1999. En ese da, este negocio tena $900 dlares estadounidenses
en ventas. Por lo tanto, utilizaremos la siguiente escritura SQL:
INSERT INTO Store_Information (store_name, Sales, Date)
VALUES ('Los Angeles', 900, '10-Jan-1999')
El segundo tipo de INSERT INTO nos permite insertar filas mltiples en una tabla. A diferencia del
ejemplo anterior, donde insertamos una nica fila al especificar sus valores para todas las
columnas, ahora utilizamos la instruccin SELECT para especificar los datos que deseamos
insertar en la tabla. Si est pensando si esto significa que est utilizando informacin de otra tabla,
est en lo correcto. La sintaxis es la siguiente:
INSERT INTO "tabla1" ("columna1", "columna2", ...)
SELECT "columna3", "columna4", ...
FROM "tabla2"
Note que esta es la forma ms simple. La instruccin entera puede contener fcilmente
clusulas WHERE, GROUP BY, y HAVING, as como tambin uniones y alias.
Para qu utilizamos los comandos SQL? El uso comn es la seleccin dedatos desde tablas
ubicadas en una
base de datos. Inmediatamente, vemos
dos palabras claves:
necesitamos SELECT la informacin FROM una tabla. (Note que la tabla es un contenedor que
reside en la base de datos donde se almacena la informacin. Paraobtener ms informacin
acerca de cmo manipular tablas, consulte la Seccin Manipulacin de Tabla). Por lo tanto
tenemos la estructura SQL ms bsica:
10
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
Podemos utilizar esta tabla como ejemplo a lo largo de la gua de referencia (esta tabla aparecer
en todas las secciones). Para seleccionar todos los negocios en esta tabla, ingresamos,
SELECT store_name FROM Store_Information
Resultado:
store_name
Los Angeles
San Diego
Los Angeles
Boston
Pueden seleccionarse los nombres de columnas mltiples, as como tambin los nombres de
tablas mltiples.
Entonces por ejemplo, si deseamos tener una tabla Store_Information, que recolecte la
informacin de ventas para el ao 1998, y ya conoce en donde reside la fuente de datos en la
tabla Sales_Information table, ingresaremos:
INSERT INTO Store_Information (store_name, Sales, Date)
SELECT store_name, Sales, Date
FROM Sales_Information
WHERE Year(Date) = 1998
Aqu hemos utilizado la sintaxis de Servidor SQL para extraer la informacin anual por medio de
una fecha. Otras bases de datos relacionales pueden tener sintaxis diferentes. Por ejemplo, en
Oracle, utilizar to_char (date,'yyyy')=1998.
Una vez que hay datos en la tabla, podramos tenerla necesidad de modificar los mismos. Para
hacerlo, utilizamos el comando UPDATE. La sintaxis para esto es,
UPDATE "nombre_tabla"
SET "columna_1" = [nuevo valor]
WHERE {condicin}
Por ejemplo, digamos que actualmente tenemos la tabla a continuacin:
11
Tabla Store_Information
store_name Sales
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
y notamos que las ventas para Los Angeles el 08/01/1999 es realmente de 500 en vez de 300
dlares estadounidenses, y que esa entrada en particular necesita actualizarse. Para hacerlo,
utilizamos el siguiente SQL:
UPDATE Store_Information
SET Sales = 500
WHERE store_name = "Los Angeles"
AND Date = "08-Jan-1999"
La tabla resultante ser vera
Tabla Store_Information
store_name Sales
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
En este caso, hay slo una fila que satisface la condicin en la clusula WHERE. Si hay mltiples
filas que satisfacen la condicin, todas ellas se modificarn.
Tambin es posible UPDATE mltiples columnas al mismo tiempo. La sintaxis en este caso se
vera como la siguiente:
UPDATE "nombre_tabla"
SET colonne 1 = [[valor1], colonne 2 = [valor2]
WHERE {condicin}
A veces podemos desear deshacernos de los registros de una tabla. Para ello, utilizamos el
comando DELETE FROM. La sintaxis para esto es,
DELETE FROM "nombre_tabla"
WHERE {condicin}
Es ms fcil utilizar un ejemplo. Por ejemplo, digamos que actualmente tenemos la siguiente tabla:
Tabla Store_Information
store_name Sales
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
12
y decidimos no mantener ninguna informacin sobre Los ngeles en esta tabla. Para lograrlo,
ingresamos el siguiente SQL:
DELETE FROM Store_Information
WHERE store_name = "Los Angeles"
Ahora el contenido de la tabla se vera,
Tabla Store_Information
store_name Sales Date
San Diego
250 07-Jan-1999
Boston
700 08-Jan-1999
SQL UNION
SQL UNION ALL
SQL INTERSECT
SQL MINUS
SQL Subconsulta
SQL EXISTS
SQL CASE
El propsito del comando SQL UNION es combinar los resultados de dos consultas juntas. En este
sentido, UNION es parecido a Join, ya que los dos se utilizan para informacin relacionada en
mltiples tablas. Una restriccin de UNION es que todas las columnas correspondientes necesitan
ser del mismo tipo de datos. Tambin, cuando utilizamos UNION, slo se seleccionan valores
distintos (similar a SELECT DISTINCT).
La sintaxis es la siguiente:
[Instruccin SQL 1]
UNION
[Instruccin SQL 2]
Supongamos que tenemos las siguientes dos tablas,
Tabla Store_Information
store_name Sales
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
Tabla Internet_Sales
Date
Sales
07-Jan-1999 250
10-Jan-1999 535
11-Jan-1999 320
12-Jan-1999 750
13
y deseamos saber de todas las fechas donde hay una operacin de venta. Para hacerlo, utilizamos
la siguiente instruccin SQL:
SELECT Date FROM Store_Information
UNION
SELECT Date FROM Internet_Sales
Resultado:
Date
05-Jan-1999
07-Jan-1999
08-Jan-1999
10-Jan-1999
11-Jan-1999
12-Jan-1999
Por favor note que si ingresamos " SELECT DISTINCT Date" para cada o ambas instrucciones
SQL, obtendremos el mismo conjunto de resultados.
El propsito del Comando SQL UNION ALL es tambin combinar los resultados de dos
consultas juntas. La diferencia entre UNION ALL y UNION es que, mientras UNION slo
selecciona valores distintos, UNION ALL selecciona todos los valores.
La sintaxis para UNION ALL es la siguiente:
[Instruccin SQL 1]
UNION ALL
[Instruccin SQL 2]
Utilicemos el mismo ejemplo de la seccin anterior para ilustrar la diferencia. Supongamos que
tenemos las siguientes dos tablas,
Tabla Store_Information
store_name Sales
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
Tabla Internet_Sales
Date
Sales
07-Jan-1999 250
10-Jan-1999 535
11-Jan-1999 320
12-Jan-1999 750
14
SQL
1]
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
Tabla Internet_Sales
Date
Sales
07-Jan-1999 250
10-Jan-1999 535
11-Jan-1999 320
12-Jan-1999 750
en
el
negocio
como
15
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
Tabla Internet_Sales
Date
Sales
07-Jan-1999 250
10-Jan-1999 535
11-Jan-1999 320
12-Jan-1999 750
y deseamos encontrar todas las fechas donde hay ventas en el negocio, pero no aquellas
realizadas por Internet. Para hacerlo, utilizamos la siguiente instruccin SQL:
SELECT Date FROM Store_Information
MINUS
SELECT Date FROM Internet_Sales
Resultado:
Date
05-Jan-1999
08-Jan-1999
16
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
Table Geography
region_name store_name
East
Boston
East
New York
West
Los Angeles
West
San Diego
et en utilisant une sous-requte pour trouver les ventes de tous les magasins dans la rgion West
(Ouest), il faudra utiliser linstruction SQL suivante :
SELECT SUM(Sales) FROM Store_Information
WHERE Store_name IN
(SELECT store_name FROM Geography
WHERE region_name = 'West')
Rsultat :
17
SUM(Sales)
2050
Dans cet exemple, au lieu de joindre directement les deux tables et dajouter seulement le montant
des ventes des magasins de la rgion West (Ouest), nous allons dabord utiliser la sous-requte
pour trouver les magasins situs dans la rgion West (Ouest), puis additionner le montant des
ventes de ces magasins.
Dans lexemple ci-dessus, la requte interne est dabord excute, puis le rsultat est envoy la
requte externe. Ce type de sous-requte est appel sous-requte simple. Si la requte interne
dpend de la requte externe, nous aurons une sous-requte corrle. Vous trouverez ci-dessous
un exemple de de sous-requte corrle :
SELECT SUM(a1.Sales) FROM Store_Information a1
WHERE a1.Store_name IN
(SELECT store_name FROM Geography a2
WHERE a2.store_name = a1.store_name)
Notez la clause WHERE dans la requte interne, o la condition ncessite une table de la requte
externe.
En la seccin anterior, utilizamos IN para enlazar la consulta interna y la consulta externa en una
instruccin de subconsulta. IN no es lanica forma de hacerlo uno puede utilizar muchos
operadores tales como >, <, o =. EXISTSes un operador especial que describiremos en esta
seccin.
EXISTS simplemente verifica si la consulta interna arroja alguna fila. Si lo hace, entonces la
consulta externa procede. De no hacerlo, la consulta externa no se ejecuta, y la totalidad de la
instruccin SQL no arroja nada.
La sintaxis para EXISTS es
SELECT "nombre1_columna"
FROM "nombre1_tabla"
WHERE EXISTS
(SELECT *
FROM "nombre2_tabla"
WHERE [Condicin])
Por favor note que en vez de *, puede seleccionar una o ms columnas en la consulta interna.
El efecto ser idntico.
Utilizamos las mismas tablas de ejemplos:
Tabla Store_Information
store_name Sales
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
18
Tabla Geography
region_name store_name
East
Boston
East
New York
West
Los Angeles
West
San Diego
Sales
Date
Los Angeles
1500 05-Jan-1999
San Diego
250 07-Jan-1999
San Francisco
300 08-Jan-1999
Boston
700 08-Jan-1999
19
si deseamos multiplicar las sumas de ventas de 'Los Angeles' por 2 y las sumas de ventas de 'San
Diego' por 1,5, ingresamos,
SELECT store_name, CASE store_name
WHEN 'Los Angeles' THEN Sales * 2
WHEN 'San Diego' THEN Sales * 1.5
ELSE Sales
END
"Nuevas Ventas",
Date
FROM Store_Information
"Nuevas Ventas" es el nombre que se le otorga a la columna con la instruccin CASE.
Resultado:
store_name
Los Angeles
3000 05-Jan-1999
San Diego
375 07-Jan-1999
San Francisco
300 08-Jan-1999
Boston
700 08-Jan-1999
En esta pgina, enumeramos la sintaxis SQL para cada uno de los comandos SQL en esta gua de
referencia. Para obtener explicaciones detalladas para cada sintaxis SQL, por favor dirjase a la
seccin individual haciendo clic en la palabra clave.
El propsito de esta pgina es brindar una pgina de referencia rpida para la sintaxis SQL. Le
sugerimos que agregue esta pgina a favoritos ahora presionando Control-D para que pueda
tener esta pgina de sintaxis a mano.
Select
SELECT "nom de colonne" FROM "nombre_tabla"
Distinct
SELECT DISTINCT "nombre_columna"
FROM "nombre_tabla"
Where
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "condition"
And/Or
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "condicin simple"
{[AND|OR] "condicin simple"}+
In
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "nombre_columna" IN ('valor1', 'valor2', ...)
20
Between
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "nombre_columna" BETWEEN 'valor1' AND 'valor2'
Like
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "nombre_columna" LIKE {patrn}
Order By
SELECT "nombre_columna"
FROM "nombre_tabla"
[WHERE "condicin"]
ORDER BY "nombre_columna" [ASC, DESC]
Count
SELECT COUNT("nombre_columna")
FROM "nombre_tabla"
Group By
SELECT "nombre_columna 1", SUM("nombre_columna 2")
FROM "nombre_tabla"
GROUP BY "nombre_columna 1"
Having
SELECT "nombre_columna 1", SUM("nombre_columna 2")
FROM "nombre_tabla"
GROUP BY "nombre_columna 1"
HAVING (condicin de funcin aritmtica)
Create Table
CREATE TABLE "nombre_tabla"
("columna 1" "tipo_de_datos_para_columna_1",
"columna 2" "tipo_de_datos_para_columna_2",
... )
Drop Table
DROP TABLE "nombre_tabla"
Truncate Table
TRUNCATE TABLE "nombre_tabla"
Insert Into
INSERT INTO "nombre_tabla" ("colonne 1", "colonne 2", ...)
valorS ("valor 1", "valor 2", ...)
Update
UPDATE "nombre_tabla"
SET "colonne 1" = [nuevo valor]
WHERE {condition}
Delete From
DELETE FROM "nombre_tabla"
WHERE {condicin}
21
Para qu utilizamos los comandos SQL? El uso comn es la seleccin de datos desde tablas
ubicadas en una
base de datos. Inmediatamente, vemos
dos palabras claves:
necesitamos SELECT la informacin FROM una tabla. (Note que la tabla es un contenedor que
reside en la base de datos donde se almacena la informacin. Para obtener ms informacin
acerca de cmo manipular tablas, consulte la Seccin Manipulacin de Tabla). Por lo tanto
tenemos la estructura SQL ms bsica:
SELECT "nombre_columna" FROM "nombre_tabla"
Para ilustrar el ejemplo anterior, suponga que tenemos la siguiente tabla:
Tabla Store_Information
store_name Sales
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
Podemos utilizar esta tabla como ejemplo a lo largo de la gua de referencia (esta tabla aparecer
en todas las secciones). Para seleccionar todos los negocios en esta tabla, ingresamos,
SELECT store_name FROM Store_Information
Resultado:
store_name
Los Angeles
San Diego
Los Angeles
Boston
Pueden seleccionarse los nombres de columnas mltiples, as como tambin los nombres de
tablas mltiples.
La palabra clave SELECTnos permite tomar toda la informacin de una columna (o columnas) en
una tabla. Esto, obviamente, significa necesariamente que habr redundancias. Qu sucedera si
slo deseamos seleccionar cada elemento DISTINCT? Esto es fcil de realizar en SQL. Todo lo
que necesitamos hacer es agregar DISTINCT luego de SELECT. La sintaxis es la siguiente:
SELECT DISTINCT "nombre_columna"
FROM "nombre_tabla"
Por ejemplo, para seleccionar todos los negocios distintos en la TablaStore_Information,
Tabla Store_Information
store_name Sales
Date
250 07-Jan-1999
Los Angeles
300 08-Jan-1999
Boston
700 08-Jan-1999
22
Ingresamos,
SELECT DISTINCT store_name FROM Store_Information
Resultado:
store_name
Los Angeles
San Diego
Boston
Luego, podramos desear seleccionar condicionalmente los datos de una tabla. Porejemplo,
podramos desear slo recuperar los negocios con ventas mayores a $1.000 dlares
estadounidenses. Para ello, utilizamos la palabra clave WHERE. La sintaxis es la siguiente:
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "condicin"
Por ejemplo, para seleccionar todos los negocios con ventas mayores a 1.000 dlares
estadounidenses en la Tabla Store_Information,
Tabla Store_Information
store_name Sales
Date
250 07-Jan-1999
Los Angeles
300 08-Jan-1999
Boston
700 08-Jan-1999
Ingresamos,
SELECT store_name
FROM Store_Information
WHERE Sales > 1000
Resultado:
store_name
Los Angeles
En la seccin anterior, hemos visto que la palabra clave WHERE tambin puede utilizarse
para seleccionar datos condicionalmente desde una tabla. Esta condicin puede ser una condicin
simple (como la que se presenta en la seccin anterior), o puede ser una condicin compuesta.
Las condiciones compuestas estn formadas por mltiples condiciones simples conectadas
por AND u OR. No hay lmites en el nmero de condiciones simples que pueden presentarse en
una sola instruccin SQL.
La sintaxis de una condicin compuesta es la siguiente:
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "condicin simple"
{[AND|OR] "condicin simple"}+
23
{}+ significa que la expresin dentro de las llaves ocurrir una o ms veces. Note
queAND u OR pueden utilizarse indistintamente. Adems, podemos utilizar el smbolo parntesis ()
para indicar el orden de la condicin.
Por ejemplo, podemos desear seleccionar todos los negocios con ventas mayores a 1000 dlares
estadounidenses o todos los negocios con ventas menores a 500 dlares estadounidenses pero
mayores a 275 dlares estadounidenses en la TablaStore_Information,
Tabla Store_Information
store_name
Sales
Date
Los Angeles
1500 05-Jan-1999
San Diego
250 07-Jan-1999
San Francisco
300 08-Jan-1999
Boston
700 08-Jan-1999
Ingresamos,
SELECT store_name
FROM Store_Information
WHERE Sales > 1000
OR (Sales < 500 AND Sales > 275)
Resultado:
store_name
Los Angeles
San Francisco
En SQL, hay dos usos de la palabra clave IN, y esta seccin introduce aqul relacionado con la
clusula WHERE. Cuando se lo utiliza en este contexto, sabemos exactamente el valor de
los valores regresados que deseamos ver para al menos una de las columnas. La sintaxis para el
uso de la palabra clave IN es la siguiente:
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "nombre_columna" IN (''valor1', ''valor2', ...)
El nmero de valores en los parntesis pueden ser uno o ms, con cada valor
separado por comas. Los valores pueden ser nmeros o caracteres. Si hay slo un valor dentro del
parntesis, este comando es equivalente a
WHERE "nombre_columna" = 'valor1'
Por ejemplo, podramos desear seleccionar todos los registros para los negocios de Los ngeles y
San Diego en la Tabla Store_Information,
24
Tabla Store_Information
store_name
Sales
Date
Los Angeles
1500 05-Jan-1999
San Diego
250 07-Jan-1999
San Francisco
300 08-Jan-1999
Boston
700 08-Jan-1999
Ingresamos,
SELECT *
FROM Store_Information
WHERE store_name IN ('Los Angeles', 'San Diego')
Resultado:
store_name Sales
Date
250 07-Jan-1999
Mientras que la palabra clave IN ayuda a las personas a limitar el criterio de seleccin para
uno o ms valores discretos, la palabra clave BETWEEN permite la seleccin de un rango. La
sintaxis para la clusula BETWEEN es la siguiente:
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "nombre_columna" BETWEEN 'valor1' AND 'valor2'
Esto seleccionar todas las filas cuya columna tenga un valor entre 'valor1' y 'valor2'.
Por ejemplo, podramos desear seleccionar la visualizacin de toda la informacin de ventas entre
el 06 de enero de 1999, y el 10 de enero de 1999, en la Tabla Store_Information,
Tabla Store_Information
store_name
Sales
Date
Los Angeles
1500 05-Jan-1999
San Diego
250 07-Jan-1999
San Francisco
300 08-Jan-1999
Boston
700 08-Jan-1999
Ingresamos,
SELECT *
FROM Store_Information
WHERE Date BETWEEN '06-Jan-1999' AND '10-Jan-1999'
Tenga en cuenta que la fecha puede almacenarse en diferentes formatos segn
diferentes bases de datos. Esta gua de referencia simplemente elige uno de los formatos.
las
25
Resultado:
store_name
Sales Date
San Diego
250 07-Jan-1999
700 08-Jan-1999
LIKE es otra palabra clave que se utiliza en la clusula WHERE. Bsicamente, LIKE le
permite hacer una bsqueda basada en un patrn en vez de especificar exactamente lo que se
desea (como en IN) o determinar un rango (como en BETWEEN). La sintaxis es la siguiente:
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "nombre_columna" LIKE {patrn}
{patrn} generalmente consiste en comodines. Aqu hay algunos ejemplos:
'A_Z': Toda lnea que comience con 'A', otro carcter y termine con 'Z'. Por ejemplo, 'ABZ' y
'A2Z' deberan satisfacer la condicin, mientras 'AKKZ' no debera (debido a que
hay dos caracteres entre A y Z en vez de uno).
'ABC%': Todas las lneas que comienzan con 'ABC'. Por ejemplo, 'ABCD' y 'ABCABC'
ambas deberan satisfacer la condicin.
'%XYZ': Todas las lneas que terminan con 'XYZ'. Por ejemplo, 'WXYZ' y 'ZZXYZ' ambas
deberan satisfacer la condicin.
'%AN%': : Todas las lneas que contienen el patrn 'AN' en cualquier lado. Por ejemplo,
'LOS ANGELES' y 'SAN FRANCISCO' ambos deberan satisfacer la condicin.
Sales
Date
LOS ANGELES
1500 05-Jan-1999
SAN DIEGO
250 07-Jan-1999
SAN FRANCISCO
300 08-Jan-1999
BOSTON
700 08-Jan-1999
los
negocios
AN. Para
hacerlo,
SELECT *
FROM Store_Information
WHERE store_name LIKE '%AN%'
26
Resultado:
store_name
Sales
Date
LOS ANGELES
1500 05-Jan-1999
SAN DIEGO
250 07-Jan-1999
SAN FRANCISCO
300 08-Jan-1999
Hasta ahora, hemos visto cmo obtener datos de una tabla utilizando los comandos SELECT y
WHERE. Con frecuencia, sin embargo, necesitamos enumerar el resultado en un orden particular.
Esto podra ser en orden ascendente, en orden descendente, o podra basarse en valores
numricos o de texto. En tales casos, podemos utilizar la palabra clave ORDER BY para alcanzar
nuestra meta.
La sintaxis para una instruccin ORDER BY es la siguiente:
SELECT "nombre_columna"
FROM "nombre_tabla"
[WHERE "condicin"]
ORDER BY "nombre_columna" [ASC, DESC]
[] significa que la instruccin WHERE es opcional. Sin embargo, si existe una clusula WHERE,
viene antes de la clusula ORDER BY ASC significa que los resultados se mostrarn en orden
ascendente, y DESC significa que los resultados se mostrarn en orden descendente. Si no se
especifica ninguno, la configuracin predeterminada es ASC.
Es posible ordenar por ms de una columna. En este caso, la clusula ORDER BY anterior se
convierte en
ORDER BY "nombre1_columna" [ASC, DESC], "nombre2_columna" [ASC, DESC]
Suponiendo que elegimos un orden ascendente para ambas columnas, el resultado se clasificar
en orden ascendente segn la columna 1. Si hay una relacin para el valor de la columna 1, se
clasificar en orden ascendente segn la columna 2.
Por ejemplo, podramos desear enumerar los contenidos de la Tabla Store_Information segn la
suma en dlares, en orden descendente:
Tabla Store_Information
store_name
Sales
Date
Los Angeles
1500 05-Jan-1999
San Diego
250 07-Jan-1999
San Francisco
300 08-Jan-1999
Boston
700 08-Jan-1999
Ingresamos,
SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY Sales DESC
27
Resultado:
store_name
Sales
Date
Los Angeles
1500 05-Jan-1999
Boston
700 08-Jan-1999
San Francisco
300 08-Jan-1999
San Diego
250 07-Jan-1999
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
ingresaramos
SELECT SUM(Sales) FROM Store_Information
Resultado:
SUM(Sales)
2750
28
750 dlares estadounidenses representa la suma de todas las entradas de Ventas: 1500 + 250
+ 300 + 700 .
Adems de utilizar dichas funciones, tambin es posible utilizar SQL para realizar tareas simples
como suma (+) y resta (-). Para ingresar datos del tipo carcter, hay tambin varias funciones de
cadenas disponibles, tales como funciones de concatenacin, reduccin y subcadena. Los
diferentes proveedores RDBMS tienen diferentes implementaciones de funciones de cadenas, y
es mejor consultar las referencias para sus RDBMS a fin de ver cmo se utilizan estas funciones.
Otra funcin aritmtica es COUNT. Esto nos permite COUNT el nmero de filas en una
tabla determinada. La sintaxis es,
SELECT COUNT("nombre_columna")
FROM "nombre_columna"
Por ejemplo, si deseamos encontrar el nmero de entradas de negocios en nuestra tabla,
Tabla Store_Information
store_name Sales
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
ingresamos,
SELECT COUNT(store_name)
FROM Store_Information
Resultado:
Count(store_name)
4
COUNT y DISTINCT pueden utilizarse juntos en una instruccin para determinar el nmero de las
distintas entradas en una tabla. Por ejemplo, si deseamos saber el nmero de los distintos
negocios, ingresaramos,
SELECT COUNT(DISTINCT store_name)
FROM Store_Information
Resultado:
Count(DISTINCT store_name)
3
Ahora regresamos a las funciones de agregados. Recuerda que utilizamos la palabra
clave SUM para calcular las ventas totales para todos los negocios? Y si quisiramos calcular el
total de ventas para cada negocio? Entonces, necesitamos hacer dos cosas: Primero, necesitamos
asegurarnos de que hayamos seleccionado el nombre del negocio as como tambin las ventas
totales. Segundo, debemos asegurarnos de que todas las sumas de las ventas estn GROUP
BY negocios. La sintaxis SQL correspondiente es,
29
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
Deseamos saber las ventas totales para cada negocio. Para hacerlo, ingresaramos,
SELECT store_name, SUM(Sales)
FROM Store_Information
GROUP BY store_name
Resultado:
store_name SUM(Sales)
Los Angeles 1800
San Diego
250
Boston>
700
La palabra clave GROUP BY se utiliza cuando estamos seleccionado columnas mltiples desde
una tabla (o tablas) y aparece al menos un operador aritmtico en la instruccin SELECT. Cuando
esto sucede, necesitamos GROUP BY todas las otras columnas seleccionadas, es decir , todas las
co Otra cosa que la gente puede querer hacer es limitar el resultado segn la suma
correspondiente (o cualquier otra funcin de agregado). Por ejemplo, podramos desear ver slo
los negocios con ventas mayores a 1 500 , dlares. En vez de utilizar la clusula WHERE en la
instruccin SQL, a pesar de que necesitemos utilizar la clusula HAVING, que se reserva
para funciones de agregados. La clusula HAVING se coloca generalmente cerca del fin de la
instruccin SQL, y la instruccin SQL con la clusula HAVING. puede o no incluir la
clusula GROUP BY sintaxis para HAVING es,
SELECT "nombre1_columna", SUM("nombre2_columna")
FROM "nombre_tabla"
GROUP BY "nombre1_columna"
HAVING (condicin de funcin aritmtica)
Nota: La clusula GROUP BY es opcional.
En nuestro ejemplo, tabla Store_Information,
30
Tabla Store_Information
store_name Sales
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
ingresaramos,
SELECT store_name, SUM(sales)
FROM Store_Information
GROUP BY store_name
HAVING SUM(sales) > 1500
Resultado:
store_name SUM(Sales)
Los Angeles
1800
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
ingresaramos,
SELECT store_name, SUM(sales)
FROM Store_Information
GROUP BY store_name
HAVING SUM(sales) > 1500
31
Resultado:
store_name SUM(Sales)
Los Angeles
1800
Nos concentraremos ahora en el uso de alias. Hay dos tipos de alias que se utilizan con mayor
frecuencia. Alias de columna y alias de tabla.
Resumiendo, los alias de columna existen para ayudar en la organizacin del resultado. En el
ejemplo anterior, cualquiera sea el momento en que vemos las ventas totales, se enumeran como
SUM(sales). Mientras esto es comprensible, podemos ver casos donde el ttulo de la columna
pueden complicarse (especialmente si incluye varias operaciones aritmticas). El uso de un alias
de columna hara el resultado mucho ms legible.
El segundo tipo de alias es el alias de tabla. Esto se alcanza al colocar un alias directamente luego
del nombre de
tabla
en
la
clusula FROM.
Esto
es
conveniente
cuando desea obtener informacin de dos tablas separadas (el trmino tcnico es 'realizar
uniones'). La ventaja de utiliza un alias de tablas cuando realizamos uniones es rpidamente
aparente cuando hablamos de uniones.
Antes de comenzar con las uniones, miremos la sintaxis tanto para el alias de columna como de
tabla:
SELECT "alias_tabla"."nombre1_columna" "alias_columna"
FROM "nombre_tabla" "alias_tabla"
Brevemente, ambos tipos de alias se colocan directamente despus del elemento por el cual
generan el alias, separados por un espacio en blanco. Nuevamente utilizamos nuestra
tabla, Store_Information,
Tabla Store_Information
store_name Sales
Date
250 07-Jan-1999
Los Angeles
300 08-Jan-1999
Boston
700 08-Jan-1999
Utilizamos el mismo ejemplo que en la seccin SQL GROUP BY, salvo que hemos colocado tanto
el alias de columna como el alias de tabla:
SELECT A1.store_name Store, SUM(A1.Sales) "Total Sales"
FROM Store_Information A1
GROUP BY A1.store_name
Resultado:
Store
Total Sales
250
Boston
700
32
Note la diferencia en el resultado: los ttulos de las columnas ahora son diferentes. Ese es el
resultado de utilizar el alias de columna. Note que en vez de Sum(sales) de algn modo
enigmtico, ahora tenemos Total Sales, que es ms comprensible, como ttulo de columna. La
ventaja de utilizar un alias de tablas no es fcil de ver en este ejemplo. Sin embargo, se tornar
evidente en la siguiente seccin.
Ahora miremos las uniones. Para realizar uniones en SQL se requieren mucho de los elementos
que ya hemos presentado. Digamos que tenemos las siguientes dos tablas:
Tabla Store_Information
store_name Sales
Date
250 07-Jan-1999
Los Angeles
300 08-Jan-1999
Boston
700 08-Jan-1999
Tabla Geography
region_name store_name
East
Boston
East
New York
West
Los Angeles
West
San Diego
700
2050
Las primeras dos lneas le indican a SQL que seleccione dos campos, el primero es el campo
"nombre_regin" de la tabla Geography (denominado REGIN), y el segundo es la suma del
campo "Sales" de la tabla Store_Information (denominado SALES). Note como se utilizan los
alias de tabla aqu: Geografa se denomina A1, e Informacin_Negocio se denomina A2. Sin los
alias, la primera lnea sera
SELECT Geography.region_name REGION, SUM(Store_Information.Sales) SALES
que es mucho ms problemtica. En esencia, los alias de tabla facilitan el entendimiento de la
totalidad de la instruccin SQL, especialmente cuando se incluyen tablas mltiples.
33
Date
250
07-Jan-1999
08-Jan-1999
Boston
08-Jan-1999
700
Tabla Geography
region_name store_name
East
Boston
East
New York
West
Los Angeles
West
San Diego
y queremos saber la suma de las ventas de todos los negocios. Si realizamos una unin regular,
no podramos obtener lo que deseamos debido a que habramos omitido Nueva York" ya que no
aparece en la tabla Store_Information. Por lo tanto, necesitamos realizar una unin externa
respecto de las dos tablas anteriores:
SELECT A1.store_name, SUM(A2.Sales) SALES
FROM Geography A1, Store_Information A2
WHERE A1.store_name = A2.store_name (+)
GROUP BY A1.store_name
Note que en este caso, estamos utilizando la sintaxis Oracle para unin externa.
34
Resultado:
store_name SALES
Boston
700
New York
Los Angeles 1800
San Diego
250
Nota: Se devuelve NULL cuando no hay coincidencia en la segunda tabla. En este caso, Nueva
York" no aparece en la tabla Store_Information, por lo tanto su columna "SALES" correspondiente
es NULL.
Algunas veces es necesario combinar en forma conjunta (concatenar) los resultados de varios
campos diferentes. Cada base de datos brinda una forma para realizar esto:
MySQL: CONCAT()
Oracle: CONCAT(), ||
SQL Server: +
Boston
East
New York
West
Los Angeles
West
San Diego
Ejemplo 1:
MySQL/Oracle:
SELECT CONCAT(region_name,store_name) FROM Geography
WHERE store_name = 'Boston';
Resultado :
'EastBoston'
35
Ejemplo 2:
Oracle:
SELECT region_name || ' ' || store_name FROM Geography
WHERE store_name = 'Boston';
Resultado :
'East Boston'
Ejemplo 3:
SQL Server:
SELECT region_name + ' ' + store_name FROM Geography
WHERE store_name = 'Boston';
Resultado :
'East Boston'
La funcin de subcadena en SQL se utiliza para tomar una parte de losdatos almacenados. Esta
funcin tiene diferentes nombres segn las diferentes bases de datos:
Boston
East
New York
West
Los Angeles
West
San Diego
Ejemplo 1 :
SELECT SUBSTR(store_name, 3)
FROM Geography
WHERE store_name = 'Los Angeles';
36
Resultado :
's Angeles'
Ejemplo 2 :
SELECT SUBSTR(store_name,2,4)
FROM Geography
WHERE store_name = 'San Diego';
Resultado :
'an D'
La funcin TRIM en SQL se utiliza para eliminar un prefijo o sufijo determinado de una cadena. El
patrn ms comn a eliminarse son los espacios en blanco. Esta funcin tiene
diferentes nombres segn las diferentes bases de datos: