Está en la página 1de 25

 

 
 

Docu
umento: LENGUAJE
L SQL
Unida
ad: UNIDAD
U IIII - SQL
Cantiidad de pá
áginas: 25
2

 
REPASO SSQL, DDL YY DML  
 
OBJET
TIVOS 
 
• Repasar  las  sentenciass  que  formaan  el  lenguaaje  de  definición  de  datos  (DDL  Daata 
Definition  Language)  dee  SQL,  es  de
ecir,  el  subco
onjunto  de  ó
órdenes  que  nos  permitirrán 
crear o edittar tablas de la base de daatos. 
• Repasar el  lenguaje de consultas para el acceso aa las tablas de la BD. 
 
RIAL: 
MATER
TECNO
OLOGIA ORACCLE 
 
 
TEMASS 
 
• Definición d
de Datos 
• Creación dee Tablas 
• Restricciones de Columnnas 
• Restricciones de Tablas 
• Renombrarr Tablas 
• Eliminar Tablas 
• Modificar T
Tablas 
• Crear y Borrar Sinónimoos 
• Crear Domiinios 
• Consultas I 
• Select 
• From 
• Where 
o de Datos 
• Diccionario
   

ormamos cciudadanoss profesionnales para eel mundo”” 
“Fo
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

SQL 
 
 
En  realidad  SQL  no
o  es  un  lenguuaje  en  si,  co
omo  podría  ser  un  lengu uaje  de  progrramación  de  3ª 
generaación (C, Pascal…), sino que en un suble enguaje orienntado a acceso o y manipulación de base de 
datos rrelacionales.  Con SQL com mo única herrramienta sóloo podemos acceder a las  bases de datos, 
pero no tenemos las estructurass típicas de un n lenguaje de  programació ón. 
Una  buuena  analogía  podría  ser  un  sistema  operativo. 
o El  interfaz  de  ccomandos  dee  un  SO  nos  da 
o  que  necesitamos  para  acceder  al  sistema 
todo  lo s de  fficheros,  pero o  sólo  podemmos  hacer  eso, 
accedeer a ficheros. SQL actúa de e la misma maanera, nos daa todo lo que  necesitamoss para accedeer a 
bases dde datos, pero no podemo os hacer más.  
Se dice
e que SQL es eestructurado porque trabaaja con conju ntos de resulltados (result set) abstracttos 
como u unidades com mpletas, Un conjunto de re esultados es  el esquema b básico de unaa tabla: N filaas x 
N  colu
umnas;  este  esquema 
e se  trata  como  un 
u todo  y  ess  la  idea  prin
ncipal  de  SQQL,  a  la  hora  de 
recupeerar un conjunnto de resultaados, éste se trata de la m misma forma ttenga el número de filas q que 
tenga ((0‐N) y tenga el número de e columnas que tenga (1‐N N).  
Ademáás  SQL  es  coonsistente,  esto 
e significaa  que  los  "eestilos"  de  laas  distintas  sentencias  sson 
uniform
mes, por lo quue el aprendizaje es rápido o. 
 
El lenguaje de de
efinición de datos (D
DDL) 
 
El DDL (Data Definition Languagge) es el conjuunto de senteencias que esstá orientadaas a la creació ón, 
modificación  y  con n  base  de  daatos.  Entre  ssus  principalees  funciones  se 
nfiguración  de  objetos  en
tienen: 
• Definir y creear una nuevaa tabla. 
• Suprimir un na tabla que yya no se necesita. 
• Cambiar la definición de una tabla existente. 
• Definir una tabla virtual (o vista) de datos. 
• Construir un n índice para hacer más ráápido el accesso a una tablaa. 
• Controlar el almacenamiento físico de e los datos poor parte del SSGBD. 
 
Tipos d
de datos: 
 

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

 
 
Oracle  maneja  tipo
os  de  datos  para 
p manejar  desde  númeeros  hasta  ob
bjetos  como  fotos,  archivos, 
cada dato se debe e especificar dee una manera especial: 
 Los valores alfanumérico os van encerrados entre coomilla simplee: 'Alfanumériico' 
 Los valores numéricos so on número simples: 123 
 Las fechas vvan encerradaas entre comillas simples:  '1/12/2000'
 Los valores binarios no p epresentados  (son fotos, videos…) 
pueden ser re
 
Los diferentes tiposs de datos que e maneja Oraacle son los si guientes: 
 

Tipo dee dato CHAR((b)  
Almace ena cadenas  de caracteres de longitud
d fija, desde 11 a 2.000 byttes de ocupacción. El númeero 
de caraacteres que se pueden alm
macenar se rigge según la si guiente fórm
mula.  

nº ccaracteres =  bytes / charaacter set Paraa ASCII, el co
onjunto de caaracteres ocu
upa 
un byte, por lo que
e coincide el n número de caaracteres má ximos con la  ocupación del tipo de dato. 
Si se in
ntroduce un vvalor de 10 caaracteres en uun campo de  CHAR(100),  se rellenará ccon espacios  las 
90 posiciones restanntes. Así la sigguiente expre
esión es ciert a:  

'H
Hola pepe' = 'H
Hola pepe                                                                   '  

Si  se  intenta 


i introducir  un  valor  demasiad do  grande  paara  el  campo o,  se  intentaará  eliminar  los 
espacio os finales, y si cabe sin esp
pacios, se intrroduce. Si aúnn así no cabe,, se retorna u
un error.  

Tipo dee dato VARCH HAR2(b)  
Almace ena  cadenas  de  caractere
es  de  longitud
d  variable.  Si   se  define  un
na  columna  d
de  longitud  1
100 
bytes, y se introducce en ella un vvalor de 10 bytes, la colum mna ocupará  10 y no 100 como hacía ccon 
el tipo de dato CHAR.  

Tipo de
e dato VARCHHAR(b)  
En Ora
acle10g es equivalente a V
VARCHAR2 
  

Tipo de
e dato NCHAR(b)  
Almaceena un valor alfanumérico
o de longitud fija con posibbilidad de cam
mbio de juego
o de caracterres. 
Puede almacenar taanto caracteres ASCII, EBCDIC, UNICOD E…  

Tipo de
e dato NVARCHAR2(b)  
Almaceena  un  valorr  alfanuméricco  de  longitu
ud  variable  ccon  posibilidad  de  cambiio  de  juego  de 
caracte
eres. Puede aalmacenar tan nto caracteress ASCII, EBCD DIC, UNICODE…  

Tipo de
e dato NUMB
BER(p,s)  

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

Almaceena  valores  numéricos 


n n  punto  flotaante  que  pueeden  ir  desdee  1.0  x  10‐1300  hasta  9.9…((38 
en
125
nuevess)… 9 x 10 . El almacenam miento intern no de los valo res numérico os en notación n científica: 

Mantisa xx 10exponente  

La man ntisa (parte d de una repressentación en  punto flotannte que contiene los dígito os significativvos 


del  nú
úmero  a  representar)  pu uede  contene er  cualquier  número,  en ntero  o  decim mal,  positivoo  o 
negativvo.  El  expon nente  podráá  contener  cualquier 
c núúmero  entero,  positivo  o  negativo.  El 
parámetro  “p”  indica  la  precisió ón  (número  de d dígitos  coontando  los  ddecimales)  qu ue  contendráá  el 
númerro  como  máxximo.  Oracle  garantiza  loss  datos  con  pprecisiones  d de  1  a  38.  El  parámetro  “s” 
indica  la  escala,  essto  es,  el  mááximo  de  díggitos  decima les.  Hay  quee  tener  en  cuenta  que  u una 
column na  definida  NUMBER(10,
N 5),  podrá  coontener  comoo  máximo  cu ualquier  núm mero  siempree  y 
cuando o el número d de dígitos enteros más el  número de ddígitos decimales no supere 10 (y no 1 15). 
La  escaala  puede  ir  de  ‐84  a  127
7.  Para  definir  número  ennteros,  se  pueede  omitir  ell  parámetro  ss  o 
bien  poner 
p un  0  en 
e su  lugar.  Se  puede  esspecificar  un a  escala  neggativa,  esto  llo  que  hace  es 
redond dear  el  núme ero  indicado  a  las  posicio ones  indicadaas  en  la  escala.  Por  ejemplo  un  númeero 
definid
do  como  NUMBER(5,‐2),  redondeará  siempre  a  ceentenas.  Así  si  intentamo os  introducir   el 
valor 1
1355, en realid dad se almacenará 1400. 

Tipo dee dato FLOAT T(b)  
Almace ena un núme ero en punto  decimal sin rrestricción dee dígitos decim
males. El paráámetro b indica 
la preccisión binaria  máxima quee puede  moverse en el raango 1 a 126.. Si se emite  el defecto seerá 
126. Una  columna  FLOAT(126) e es equivalentte a una coluumna  NUMBEER(38),  aunqu ue la diferencia 
está  en
n  que  la  colu
umna  NUMBEER  no  podrá  contener  deecimales  y  la  columna  FLO
OAT  si  y  en  ccon 
cualquier escala.  

Tipo dee dato DATE  
Almace ena un valor d de fecha y hoora.  
Paraa  un  tipo  de  dato  DATE,  Oracle 
O almacena  internam
mente  los  siguiente  datos:  ƒ  Siglo  ƒ  Año  ƒ 
Mes ƒ Día ƒƒ Hora ƒ Minuto ƒ Segundo  

El  formato  por  defecto  de 


las  fechaas  es:  'DD‐
MON‐YYYYY'  

Esto
o es: Dos dígittos para el díía Las tres primeras siglass del año (dep
pende del idioma instalad
do). 
Cuatro díígitos para el año.  

Por ejemplo: '1‐JAN‐2001' ó '2
2‐DEC‐1943' 

Este fo
ormato puede
e ser alterado
o en cualquierr momento. 

Internaamente  un  fe echa  se  almaacena  como  el  e número  dee  días  desde  cierto  punto
o  de  inicio  (p
por 
ejempllo  el  año  0).  Esto  permite
e  que  las  fecchas  puedan  ser  tratadas  en  operaciones  aritméticcas 
normales:  

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

'1‐JAN‐2
2001' + 10 = '11‐JAN‐2001
1' '1‐JAN‐20000' ‐ 1 = '31‐DEEC‐1999' '10‐‐MAY‐2000' ‐ '1‐
MAY‐20000' = 9  

Tipos dde datos binaarios  
Permitten almacenar información n en formato "crudo", valoores binarios  tal y como see almacenan en 
el disco
o duro o commo residen en memoria. Esstas columnass se pueden u utilizar tanto para almacen nar 
grande es  cantidadess  de  datos  (hasta  4Gb.),  como 
c para  alm
macenar  direectamente  cu ualquier  tipo  de 
fichero
o  (ejecutables,  sonidos,  videos, 
v fotos,,  documentoos  Word,  librrerías…)  o  paara  transportar 
datos  de 
d una  base  de  datos  a  otra, 
o ya  que  el  formato  bbinario  es  el  único  formatto  común  enttre 
cualquier sistema innformático.  

 
Tipo de
e dato LONG  
Almaceena  caracterres  de  longittud  variable  hasta  2  Gbb.  Este  tipo  de  dato  see  soporta  paara 
compaatibilidad con versiones annteriores. En OOracle8 y siguuientes versioones se debeen usar los tippos 
de dato
os CLOB y NLOB para almaacenar grande es cantidadess de datos alffanuméricos.  

Tipo de
e dato ROWID  
Repressenta una direección de la b
base de datoss, ocupada poor una única  fila. El ROWID de una fila es 
un identificador único para una fila dentro dde una base  de datos. No o hay dos filas con el mismmo 
ROWID D. Este tipo de
e dato sirve p
para guardar p
punteros a fillas concretas. El ROWID see compone dee:  

‐Número  de  datafile  donde  se  alm


macena  la  filaa  (se  pueden
n  ver  en  DBA
A_DATA_FILESS)  ‐
Dirección
n del bloque d
donde está la fila ‐Posiciónn dentro del b bloque  

Siemprre que queramos obtener  una fila de laa firma más rrápida posiblee, debemos h hacerlo a travvés 


de  su  ROWID.  Un  uso 
u típico  suele  ser  obtenner  un  listadoo  de  ROWIDss  con  un  SELLECT,  y  despu
ués 
accedeer a cada una de las filas diirectamente ccon la condic ión del ROWIID. 

 
Senten ncias sobre Taablas 
 
Create e Table 
Crea una tabla en laa base de datoos, sintaxis General de la ssentencia CREEATE TABLE: 
 
CREATE TABLE nombre_tabla( 
COLUM MNA TIPO [NO OT NULL], 
COLUM MNA TIPO [NO OT NULL], 
. . . 
{CONSTTRAINT nomb bre_clave_priimaria PRIMA ARY KEY (coluumnas_clave)} 
{CONSTTRAINT nomb bre_clave_forránea 
FOREIG GN KEY(colum mnas_clave) R
REFERENCES ttabla_detalle(( 
column nas_clave ) 
{ON DEELETE CASCAD DE} } ) 
 

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

Un ejemplo de la uttilización de e
esta sentenciaa es:  
 

 
Figuraa 1 Tabla Facturaa 

La creaación de la tabla FACTURA, definida en la figura 1, seería la siguien
nte: 
CREATE TABLE FACTTURA(  
REFEREENCIA VARCH HAR2(10) NOTT NULL, 
DESCRIPCION VARC CHAR2(50), 
C_PAISS NUMBER(3), 
C_CLIEENTE NUMBER R(5), 
IMPOR RTE NUMBER((12), 
CONSTTRAINT PK_FA ACTURA PRIM MARY KEY( REFFERENCIA ) 
CONSTTRAINT FK_CLLIENTE(C_PAISS,C_CLIENTE)) REFERENCESS CLIENTE(C_PAIS, C_CLIEN NTE) 
ON DELETE CASCAD DE); 
 
 
Restriccciones de coolumnas: 
 
NOT NULL: La colum mna no permitirá valores nnulos. 
CONST TRAINT: Perm mite asociar un nombre a u una restricció n. 
DEFAU ULT valor: La  columna tendrá un valor  por defecto.  El SBGD utiliza este valorr  cuando no  se 
especiffica un valor ppara dicha co
olumna. 
PRIMA ARY KEY: Perm mite indicar q
que esta colum
mna es la clavve primaria.
UNIQU UE: Obliga a q que los valore
es de una coluumna tomen  valores único os (no puedee haber dos fiilas 
con iguual valor). Se implementa ccreando un ínndice para diccha(s) column na(s). 
CHECK K (condición): Permite indicar una condición que debbe de cumplirr esa columnaa. 
 
 
Restriccciones de tablas: 
 

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

PRIMA ARY  KEY  (columna1,  columna2...):  Permite P indiccar  las  colum


mnas  que  fo orman  la  claave 
primarria. 
FOREIG GN KEY (colu umna1, colum mna2....) REFERENCES No mbreTabla: IIndica las columnas que sson 
clave aajena referencciando a una clave candidaata de otra taabla. 
UNIQU UE (columna1 1, columna2...): El valor co ombinado de  una o varias ccolumnas es único. 
CHECK K  (condición)::  Permite  indicar  una  condición  que  d eben  cumplirr  las  filas  de  la  tabla.  Pueede 
afectarr a varias colu
umnas. 
 
EJEMPLOS 
areas(ccodigo, nomb bre, departam mento) (código es la clave pprimaria) 
departtamentos(cod digo_dpto, no ombre) (códiggo_dpto es la  clave primaria) 
 
La tabla areas tiene una clave aje ena  areas.de epartamento ‐‐ departamen ntos 
 
CREATE TABLE areas 

codigo char(3) not n null, 
nombrre char(55) no ot null, 
departtamento char(3) not null, 
Primarry key(codigo), 
Foreignn key(departaamento) REFEERENCES departamentos
ON DELETE SET NULLL); 
 
ON  DEELETE  Set  Null  Significa  qu
ue  si  se  borra  algún  depaartamento  dee  la  tabla  departamentoss  el 
campo o departamen nto de las filass de la tabla aareas que le rreverenciaban n se pone com mo Null. 
ON  UP PDATE  CASCADE  Significaa  que  si  se  modifica  ell  código_dptto  de  una  fila  de  la  tabla 
departtamento, tam mbién se modiificara en las ffilas de la tabbla áreas que le referencian. 
 
CREATE TABLE depaartamentos 

codigo_dpto char(3) not null, 
nombrre char(40) no ot null, 
Primarry key(codigo_ _dpto) 
); 
 
 
Renom mbrar una tab bla: 
 
RENAM ME TABLE <no ombre tabla e existente> TO O <nuevo nom mbre tabla> 
 
Elimina ar una tabla dde la base de e datos: 
DROP TTABLE <nomb bre tabla> [CA ASCADE, RESTTRICT] 
Ejempllos: 
– DROP P TABLE DEPA ARTAMENTOSS CASCADE 
(La tab
bla se borra, aasí como las p posibles restriicciones relattivas a esta taabla) 

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

– DROP P TABLE DEPA ARTAMENTOSS RESTRICT 


(La tab
bla se borra sóólo si no se haace referencia a ella en ni nguna restriccción, p.e. en la definición de 
claves ajenas) 
 
Ver la descripción d de una tabla: 
Para ve er un resumen de la definiición de una ttabla se utilizaa el siguientee comando: 
DESCRIBE nombre_ _tabla; 
 
 
 
Modifiicar una tabla a ALTER TABLLE: 
La senttencia  Alter TTable se utiliza para camb biar una tabl a existente, d dentro de la  tabla podemmos 
Add (añadir) o Drop p (borrar) coluumnas y restrricciones (PRIIMARY KEY, FFORING KEY, U UNIQUE, CHEECK 
CONSTTRAINT) o  mo odificar (modify) campos. SSu sintaxis ess: 
 
ALTER TABLE <nombre table>  
{ ADD < <nombre colu umna nueva> > <tipo de datto> [NOT NULLL] 
MODIFFY <nombre ccolumna> [DEEFAULT valor | DROP DEFA AUL| tipo de d dato] 
DROP < <nombre colu umna> [CASC CADE | RESTRICT] 
ADD [P PRIMARY KEY (nombre colu umna) | 
FOREIG GN KEY (nomb bre columna)) REFERENCESS nombre_tabbla | UNIQUEE (nombre 
column na) | CHECK ((condición) 
DROP C CONSTRAINT nombre‐resttricción [CASC CADE| RESTR ICT] 
 
EJEMPLOS 
Agregaar a la tabla areas el campo o Responsable de tipo chaar(30) 
DD responsable char(30) no
alter taable areas AD ot null; 
Modificar el campo nombre de laa tabla deparrtamentos a cchar(50) 
alter taable departammentos MODIFY nombre cchar(50); 
 
 
 
EJERCICIOS (DEEFINICIÓN  DE DATOSS) 
 
Utilizan
ndo  oracle  10g 
1 crear  las  tablas  corre espondientes  al  siguiente  esquema  dee  base  de  daato 
relacio
onal relativo aa la gestión dee los préstammos de una bibblioteca: 
 
Libro (LI_id, autor, ttitulo, editor, clase, precio) 
Usuario (carnet, nombre, dirección, ciudad) 
Clase (CL_id, tiempo o_de_prestam mo) 
Prestammo (numero, carnet, fechaa_inicio, fecha_fin) 
Ciudadd(código, nom mbre) 
 
 

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

La info
ormación de la tablas referridas debe manejarse en ccascada para la actualizacción y en setn null 
para laa eliminación. 
 
1. Cre del esquema anterior. 
ee las tablas d
2. Agregar a la tab bla Usuario el campo Fechaa_Ingreso (quue sea obligattorio). 
3. Agregar  a  la  tabla  Libro  el  campo 
c Prestaado  (que  seaa  obligatorio)),  y  asignarle  por  defecto
o  el 
vallor 1. 
4. Agregar al camp po clase la condición de qu ue debe ser uun entero enttre 0 y 5. 
 
   

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

LENGUAJEE DE MANIPILACION
N DE DATO
OS DML 
 
El DDL (Data Definition Languagge) es el conju unto de senteencias que esstá orientadaas a la creació
ón, 
modificación y conffiguración de objetos en baase de datos.. 
El DDLL es el  subcon
njunto  más eextenso  dentrro  de SQL asíí que sólo vaamos a hacerr una referencia 
rápida a algunas senntencias. 
 
 
Ventas 
Referencia  Codigo_Cliente  Codigo__Ciudad  Total 
1  1  12  50000,12 
2  2  11  34343,00 
3  1  10  23444,12 
4  3  11  2372382,2 2 
5  4  13  3232323,0 01 
6  2  12  234000,00 0 
Figura 2 Tab
bla Ejemplo de vventas 

 
Instruccción INSERT 
La senttencia INSERTT nos permite e introducir nuevas filas enn una tabla dee base de dattos. 
La sintaaxis básica ess: 
INSERTT INTO tabla[(( campos )] 
VALUES( lista de vallores ); 
 
Los nombres de los campos son opcionales y si no se pon en se supond drá que se agregarán valorres 
a  todoos  los  campo os  de  la  tablaa  en  su  orde
en  original,si   se  ponen,  sse  podrán  in ndicar  cualqu uier 
númerro de columnaas, en cualquier orden. 
La listaa de valores ees el registro q que se insertará en la tablla. Los tipos d de datos debeen coincidir ccon 
los  cammpos  indicados  o  con  la  definición 
d de  la  tabla  si  o mitimos  el  n
nombre  de  lo os  atributos.  LLas 
column nas que no se e incluyan se inicializarán ccon NULL, (si  no se ha definido valor en n el DEFAULT)). 
Ejempllo: 
INSERTT INTO FACTU URA 
VALUES('A111', 'Facctura nueva', 1, 5, 50000);
 
Existe o para insertar el resultado de una consuulta: 
otra sintaxis p
INSERTT INTO tabla{(( campos )} 
SELECTT . . . 
 
Este tippo de INSERTT permite intrroducir un graan número dee registros en n una sola sentencia, al igu ual 
que  coon  el  INSERT  normal,  los  tipos 
t de  dato
os  del  SELECTT  deben  coin ncidir  con  los  de  los  camp
pos 
indicad dos en la senttencia. 
Ejempllo: 
INSERTT INTO FACTU URA(C_PAIS, C C_CLIENTE) 
(SELECT C_PAIS, C_C CLIENTE FROM M CLIENTE);

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

 
 
Instruccción DELETE 
La senttencia DELETE nos permitte eliminar nu uevas filas enn una tabla de base de daatos conformee a 
una co ondición, es eqquivalente al SELECT, pero o en vez de mmostrar las filaas que cumplan la condicióón, 
las elim
mina.  
Su sintaxis es: 
DELETEE {FROM} tab bla 
{WHER RE condición};; 
 
Si se omite la cláusu ula WHERE se e borrarán todas las filas dde la tabla, lass condicioness pueden ser las 
mismas que las aplicadas en unaa sentencia SEELECT. 
 
Instruccción SELECT 
La senttencia SELECTT es la encarggada de la recuperación (seelección) de d datos, con cualquier tipo d
de 
condición, agrupación u ordenacción. 
Una se entencia SELECT retorna un n único conjuunto de resulttados, por lo q que podrá ser aplicada en 
cualquier lugar donde se espere un conjunto de resultado s. 
 
La sintaaxis básica ess: 
SELECTT [campos, op peración, funcción] 
FROM [tablas|consulta] 
WHEREE condición 
GROUP P BY columnaas de agrupación 
HAVING condición aagrupada 
ORDER R BY columnas de ordenación; 
 
Todas las cláusulas son opcionale es excepto SEELECT y FROM M. 
 
Clausu ulas en el Sele
ect: Estas se e
escriben desp pués del Selecct y antes del from 
 
SELECTT [ALL | DISTINCT | UNIQU UE ] <lista‐de sselecciones>
<lista‐dde seleccione es>: Lista de n
nombre de co olumnas o exxpresiones qu ue se desean  mostrar, deb ben 
estar separadas porr comas. 
Ejempllo: Select codigo_cliente frrom ventas;
 
Codiggo_Cliente 





“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

 
*:  indica  que  muesstre  todos  lo os  campos  de
e  las  tablas  oo  resultados  del  from,  esste  no  puedee  ir 
acomp pañado de nin ngún nombre de campo. 
Ejempllo: Select * from ventas; 
Ventas 
Referencia  Codigo_Cliente  Codigo__Ciudad  Total 
1  1  12  50000,12 
2  2  11  34000,00 
3  1  10  23500,12 
4  3  11  23750000 0,2 
5  4  13  3200323,0 01 
6  2  12  234000,00 0 
 
DISTINNCT: Elimina laas filas dupliccadas en el resultado de la  consulta. 
Ejempllo:  
SELECTT DISTINC cod digo_cliente  
FROM ventas; 
 
Codiggo_Cliente 




 
UNIQU UE: es igual quue DISTINCT. 
ALL:  Muestra 
M todoss  los  resultad
dos  generadoos  por  la  conssulta,  este  ess  el  valor  porr  defecto  de  un 
select no es necesario escribirlo. 
 
NOTASS: 
‐ Las coolumnas amb biguas se precceden del nom mbre de la tabbla: <tabla>.<<columna> 
‐ * refiere a todas laas columnas d de todas las tablas. 
 
 
Cláusu ula WHERE. 
Sirve ppara indicar laa condición qu ue deben cum mplir las filas  resultantes.
WHEREE <condición> > 
Una  co p una  o  vaarias  expresiiones  condicionales  coneectadas  por  los 
ondición  estáá  formada  por 
operad dores lógicos  AND, OR y N NOT. Una exp presión condiicional tiene  una de las fo ormas indicad das 
en la figura 3. 
Ejempllo:  
SELECTT codigo_clien nte  
FROM ventas  
WHEREE total > 4000 00 and total < < 300000 
 

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

Codiggo_Cliente 


 

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

 
“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

Figura 3. Operadores lóggicos 

CLAUSULA ORDER B BY: Esta claussula se utilizaa para ordenaar el resultado o de una consulta según laa o 


las colu
umnas selecccionadas, estaa clausula se e escribe al finaal de la consuulta. 
Sintaxis: … ORDER B BY CAMPO1 [DESC|ASC][,C CAMPON [DESSC|ASC]].  (vaalor por defecto es ASC) 
 
Si se deesea ordenarr más de un campo, estos se separan poor coma, cuando esto ocu urre el resultaado 
de la cconsulta ordeena teniendo  en cuenta el primer cam po indicado,  luego sin deesorganizar esste 
campo o, ordena el siguiente, y asíí hasta llegar al ultimo atriibuto. 
 
Ejempllo:  Mostrar  lo l ventas,  orrdenando  po r  cliente  de  fforma  descen
os  datos  de  las  ndente  y  porr  el 
total de la factura e
en forma asce endente. 
SELECTT *  
FROM ventas  
ORDER R BY codigo_ccliente DESC, total ASC; 
Ventas 
Referencia  Codigo_Cliente  Codigo__Ciudad  Total 
5  4  13  3200323,0 01 
4  3  11  23750000 0,2 
2  2  11  34000,00 
6  2  12  234000,00 0 
3  1  10  23500,12 
1  1  12  50000,12 
En  este  ejemplo  see  observa  que  primero  se e  ordena  de  forma  desceendente  el  co odigo_clientee,  y 
despué és se ordena el total de forrma descende ente, sin desoordenar el co odigo_cliente.. 
 
 
CLAUSULA GROUP  BY: Una consulta con GR ROUP BY se uutiliza para co onsiderar los  registros cuyyos 
ciertoss  campos  tieenen  el  mism mo  valor,  y  procesarlos  de  la  mism ma  manera,  para  contarlos, 
sumarllos,  hacer  la  media…,  esto  quiere  qu ue  los  valorees  iguales  se   agrupan  en
n  uno  solo,  p por 
ejempllo  para  calcular  el  total  co
omprado  porr  cada  clientee,  se  deben  ttomar  los  differentes  valores 
del cammpo codigo_ccliente y mosttrar un valor. 
Las funnciones más ccomunes que se pueden uttilizar son: 
Max(caampo):  calcula  el  máximo o  valor  almaccenado  en  el  campo  indiccado,  con  resspecto  al  gru upo 
descritto. 
Min(caampo):  calcula  el  mínimo  valor  almace enado  en  el  campo  indiccado,  con  resspecto  al  gru upo 
descritto. 
Sum(caampo):  Sumaa  los  valores  almacenado os  en  el  cam
mpo  indicado,,  que  pertenezcan  al  gru upo 
especifficado. 
Avg(campo): calculaa el valor med dio o promed dio de  los vallores almacen nados en el ccampo indicad do, 
que peertenezcan al grupo especiificado. 
 
la  funcción  que  se  desee  calcu ular  se  debe
e  escribir  en  el  SELECT  jjunto  con  lo os  campos  q que 
conformarán el grupo (de necessitarse), en la clausula GRO OUP BY que vva después d del FROM O D DEL 
WHEREE (de haber condición) se e especifica el o
o los atributoos que generaan el grupo. 

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

 
Sintaxis:  
SELECTT [campos|funcion]  
FROM tabla  
[WHER RE condicion]  
GROUP P BY campos_ _grupo; 
 
Si en el SELECT solo se especificaa la función no o se escribe eel GROUP BY. 
Ejempllos:  
 calcular el ttotal comprad do por cada cliente. (el gruupo lo forma el codigo_clieente) 
SELECT codigo_cliente, ssum(total)  
FROM ventas  
GROUP BY ccodigo_clientte; 
Codigo_Clien
C te  Su m(total) 
1  735000,24 
2  2680000,00 
3  237500000,2 
4  32003323,01 
 
 Calcular el ttotal vendido (la función e es el único cam mpo a mostraar, no hay gru upos) 
SELECT sum m(total)  
FROM ventas; 
Sum(total) 
S
735000,24 
2680000,00 
237550000,2 
32000323,01 
272991823,45 
 
CLAUSULA  HAVING G:  No  se  pueeden  usar  funnciones  de  aagrupación  en
n  la  cláusula  WHERE  de  un 
SELECTT.  O  sea,  no  se  puede  usar 
u el  WHER RE  para,  de  forma  selecttiva  eliminarr  datos  que  no 
interessan del resultado de una consulta agrup pada.  
Sintaxis:  
SELECTT [campos|funcion]  
FROM tabla  
[WHER RE condicion]  
GROUP P BY campos_ _grupo  
HAVING function co ondición valorr; 
 
Ejempllo: Mostrar e el total comprrado por cadaa cliente, perro que supereen un 100000 00 de pesos.  (el 
grupo lo forma el co odigo_clientee)  
SELECTT codigo_clien nte, sum(totaal)  
FROM ventas  
GROUP P BY codigo_ccliente; 

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

Codigo_Clien
C te  Su m(total) 
3  237500000,2 
4  32003323,01 
 
 
   

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

CONSULTA
AS CON COMB
BINACION EN
NTRE  TABLASS (JOIN) 
 
 
Todas  las explicacio ones que estáán a continuaación utilizann las siguientees dos tablas  para ilustrarr el 
efecto de diferentess clases de un niones JOIN.
 
Tabla EEmpleado  
Apelliddo  IDDepartamento 
Raffertty 31   31 
3
Jordán   33 
3
Steinbe erg  33 
3
Róbinsson  34 
3
Smith  34 
3
Gasparr  36 
3
 
Tabla DDepartamento 
NombrreDepartamento  IDDepaartamento 
Ventass  31 
Ingenie ería  33 
Produccción  34 
Marketting  35 
 
La tabla Empleado  contiene a lo os empleados con el númeero del deparrtamento al q que perteneceen; 
mientrras que la tab bla Departamento, contien ne el nombre  de los deparrtamentos dee la empresa, se 
puede  notar que exxiste un empleado que tie ene asignado  un número  de departam mento que no  se 
encuen ntra  en  la  tabla  Departammento  (Gaspaar),  igualmennte,  en  la  tab mento  existe  un 
bla  Departam
departtamento  al  cual  no  perte enece  empleaado  alguno  ( Marketing).  Esto  servirá  para  presentar 
alguno os ejemplos m más adelante. 
 
 
Combinación intern na (INNER JOIN o JOIN)  
Con essta operación es calculado o el producto  cruzado de ttodos los regiistros; así cad da registro en n la 
tabla AA es combinado con cada  registro de laa tabla B; perro sólo permaanecen aquelllos registros  en 
la tablaa combinada que satisface en las condiciiones que se  especifiquen. Este es el tipo de JOIN m más 
do por lo que es considerado el tipo de combinaciónn predetermin
utilizad nado. 
 
SQL  esspecifica  dos  formas  diferrentes  para  expresar 
e estaas  combinaciiones.  La  prim
mera,  conociida 
como e explícita usa  la palabra JO
OIN, mientrass que la segunnda es implíccita y usa ',' p para separar  las 
tablas  a combinar e en la sentenccia FROM de  la declaraciónn SELECT. Enttonces siemp pre se generaa el 
produccto  cruzado  del  cual  se  seleccionan  las  combinaaciones  que  cumplan  lo o  que  indica  la 
senten ncia WHERE. 
 
Es nece esario tener e especial cuidaado cuando sse combinan  columnas con valores nulos NULL ya q que 
el  valo
or  nulo  no  se  combina  con 
c otro  valo
or  o  con  otrro  nulo,  exceepto  cuandoo  se  le  agreggan 
predicaados tales como IS NULL o o IS NOT NULLL. 

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

 
Como  ejemplo,  la  siguiente 
s con
nsulta  toma  todos 
t los  reg istros  de  la  ttabla  Empleado  y  encuentra 
todas  las  combinacciones  en  la  tabla 
t Departaamento.  La  seentencia  JOIN N  compara  lo
os  valores  en
n  la 
column na IDDepartamento en am mbas tablas. C Cuando no exxiste esta corrrespondencia entre algun nas 
combin naciones, éstaas no se mue
estran; es decir que si el núúmero de dep partamento d de un empleaado 
no  coincide  con  lo os  números  de 
d departamento  de  la  ttabla  Departaamento,  no  se  mostrará  el 
empleaado con su re espectivo dep
partamento en la tabla resuultante. 
 
Las doss consultas siguientes son similares, y sse realizan dee manera expllicita (A) e implícita (B). 
 
A. Ejem mplo de la sen
ntencia INNERR JOIN explíciita: 
 
SELECTT * 
FROM   empleado 
       INNNER JOIN dep partamento 
ON empleado.IDdepartame
          O ento = departtamento.IDdeepartamento o 
 
B. Ejem mplo de la sen
ntencia JOIN iimplícita: 
 
SELECTT * 
FROM   empleado, d departamento 
WHEREE  empleado.IDdepartame ento = departaamento.IDDeepartamento
 
Resultaado 
Empleado
o.Apellido  Empleado.IDde
epartamento departamento.N ombreDepartameento departameento.IDDepartameento 
 
Smith  34  Producción 34 
Jordán  33  Ingeniería  33 
Róbinsson  34  Producción 34 
Steinbe erg  33  Ingeniería  33 
Raffertty  31  Ventas  31 
 
El emp pleado Gaspar y el departaamento de Marketing no sson presentad dos en los resultados ya q
que 
ningun no de éstos tie entes en la ottra tabla. No  existe un dep
ene registros correspondie partamento ccon 
númerro 36 ni existe e un empleado con número de identificcación 35. 
 
A la combinación qu ue utiliza com
mparaciones d
dentro del preedicado JOIN se le llama thheta‐join. 
 
C. Ejem mplo de comb binación tipo theta: 
 
SELECTT * 
FROM   empleado 
       INNNER JOIN dep partamento 
ON empleado.IDDepartamento < departamento.IDD
          O Departamento o 
 

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

Natura al (Natural join): 
Es  unaa  especializacción  de  la  co
ombinación  de 
d equivalenccia,  anteriorm
mente  mencionada.  En  esste 
caso  see  comparan  todas  las  columnas  que  tengan  el  miismo  nombree  en  ambas  ttablas.  La  tabla 
resultaante contiene e sólo una columna por cad da par de coluumnas con ell mismo nombre. 
 
mplo de comb
D. Ejem binación natu ural: 
 
SELECTT * 
FROM   empleado N NATURAL JOIN N departamento 
 
El resu
ultado es un p poco diferentte al de el ejeemplo D, ya qque esta vez  la columna ID
DDepartamen nto 
se mue estra sola unaa vez en la tab bla resultante
e. 
 
Empleaado.Apellido  Empleado.ID
Ddepartamentto departam ento.NombreD
Departamento

Smith  34  Produccióón 
Jordán  33  Ingenieríaa 
Róbinsson  34  Produccióón 
Steinbeerg  33  Ingenieríaa 
Raffertty  31  Ventas 
 
El uso  de esta la sentencia NATU URAL puede  producir resuultados ambigguos y generar problemass si 
la  base
e  de  datos  cambia,  porqu ue  al  añadir,  quitar,  o  re nombrar  las  columnas,  p
puede  perderr  el 
sentidoo  la  sentenccia;  por  estaa  razón  es  preferible  exxpresar  el  p predicado  usando  las  otras 
expresiones nombraadas anteriorrmente (ejem mplos A y B).
 
 
 Cruzadda (Cross joinn): 
 
Presennta el productto cartesiano de todos los registros de  las dos tablass, el código SQ QL para realizzar 
este  producto 
p carttesiano  enun ncia  las  tabllas  que  seráán  combinad das,  pero  noo  incluye  alggún 
predicaado que filtree el resultado. 
 
E. Ejem
mplo de comb binación cruzaada explícita:
 
SELECTT * 
FROM   empleado C CROSS JOIN de epartamento o  
 
F. Ejem
mplo de comb binación cruzaada implícita: res 
 
SELECTT * 
FROM   empleado, d departamento; 
 
Empleado
o.Apellido  Empleado.IDde
epartamento departamento.N ombreDepartameento departameento.IDDepartameento 
 
Raffertty  31  Ventas  31 

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

Jordán  33  Ventas  31 


Steinbe erg  33  Ventas  31 
Smith  34  Ventas  31 
Róbinsson  34  Ventas  31 
Gasparr  36  Ventas  31 
Raffertty  31  Ingeniería  33 
Jordán  33  Ingeniería  33 
Steinbe erg  33  Ingeniería  33 
Smith  34  Ingeniería  33 
Róbinsson  34  Ingeniería  33 
Gasparr  36  Ingeniería  33 
Raffertty  31  Producción  34 
Jordán  33  Producción  34 
Steinbe erg  33  Producción  34 
Smith  34  Producción  34 
Róbinsson  34  Producción  34 
Gasparr  36  Producción  34 
Raffertty  31  Marketing  35 
Jordán  33  Marketing  35 
Steinbe erg  33  Marketing  35 
Smith  34  Marketing  35 
Róbinsson  34  Marketing  35 
Gasparr  36  Marketing  35 
 
Esta claase de combiinaciones son n usadas pocaas veces, genneralmente see les agregan  condiciones  de 
filtrado
o con la sente encia WHERE para hallar re esultados esppecíficos. 
 
Combinación externa (OUTER JO OIN): 
Mediante esta operración no se  requiere que e cada registrro en las tablaas a tratar teenga un registtro 
equivalente  en  la  otra 
o tabla.  El registro  es  mantenido  een  la  tabla  coombinada  asíí  no  existe  ottro 
registro que le corre esponda. 
 
Este tippo de operacción se subdivvide dependie endo de la taabla a la cual  se le admitirrán los registrros 
que  no o  tienen  correspondenciaa,  ya  sean  de e  tabla  izquiierda,  de  tab
bla  derecha,  o  combinaciión 
comple eta. 
 
De tab bla izquierda ((LEFT OUTER JOIN o LEFT JOIN):  
El resuultado de estaa operación ssiempre contiene todos loos registros de la tabla de la izquierda  (la 
primerra tabla que sse menciona  en la consultta), aun cuanddo no exista  un registro ccorrespondien nte 
en la taabla de la derrecha, para uno de la izquiierda. 
 
La senttencia LEFT O OUTER JOIN rretorna la parreja de todoss los valores d de la tabla izquierda con  los 
valoress  de  la  tabla  de  la  derechha  correspond or  nulo NULLL  en  caso  de  no 
dientes,  o  rettorna  un  valo
corresp pondencia.  

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

A diferrencia del resultado presentado en los ejemplos A yy B (de combinación intern na) donde no se 
mostraaba el empleaado cuyo dep partamento n no existía; enn el siguiente  ejemplo se  presentarán  los 
empleaados  con  su u  respectivo  departamen nto,  e  inclussive  se  pressentará  el  empleado,  cu
uyo 
departtamento no existe. 
 
G. Ejem mplo de tabla izquierda para la combinaación externaa: 
 
SELECTT distinct * 
FROM   empleado LLEFT OUTER JO OIN departammento 
ON empleado.IDDepartamento = departamento.IDD
          O Departamento o; 
 
Empleado
o.Apellido  Empleado.IDde
epartamento departamento.N ombreDepartameento departameento.IDDepartameento 
 
Jordán  33  Ingeniería  33 
Raffertty  31  Ventas  31 
Róbinsson  34  Producción 34 
Smith  34  Producción 34 
Gasparr  36  NULL  NULL 
Steinbe erg  33  Ingeniería  33 
 
de tabla derecha (R RIGHT OUTER R JOIN o RIGH HT JOIN):  
Esta  operación  inve ersa  a  la  ante
erior;  el  resu
ultado  de  estta  operación  siempre  con
ntiene  todos  los 
registros de la tablaa de la derech ha (la segund da tabla que sse menciona  en la consultta), aun cuan ndo 
no exissta un registro o correspond diente en la taabla de la izquuierda, para uuno de la dereecha. 
 
La senttencia RIGHTT OUTER JOIN retorna la pareja de todoos los valoress de la tabla d derecha con  los 
valoress de la tabla  de la izquierd da correspon ndientes, o reetorna un valor nulo NULLL en caso de  no 
corresp pondencia.  
H. Ejem mplo de tabla derecha para la combinacción externa:  
 
SELECTT * 
FROM   empleado R RIGHT OUTER JOIN departaamento 
ON empleado.IDDepartamento = departamento.IDD
          O Departamento o 
 
Empleado
o.Apellido  Empleado.IDde
epartamento departamento.N ombreDepartameento departameento.IDDepartameento 
 
Smith  34  Producción 34 
Jordán  33  Ingeniería  33 
Róbinsson  34  Producción 34 
Steinbeerg  33  Ingeniería  33 
Raffertty  31  Ventas  31 
NULL  NULL  Marketing  35 
 
En estee caso el áreaa de Marketin
ng fue presenttada en los reesultados, aunque aún no hay emplead
dos 
registrados en dichaa área. 
 

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

combin nación completa (FULL OU UTER JOIN): 


Esta  operación  preesenta  los  re
esultados  de  tabla  izquierrda  y  tabla  d
derecha  aunque  no  tenggan 
corresp pondencia en
n la otra tablaa. La tabla co
ombinada conntendrá, ento onces, todos  los registros  de 
ambas tablas y pressentará valore es nulos NULLLs para registtros sin parejaa. 
 
I. Ejem mplo de combiinación externa completa:: 
 
SELECTT *   
FROM   empleado 
       FULL OUTER JOIN departame ento  
ON em mpleado.IDDepartamento= = departamen nto.IDDepartaamento 
 
 
Empleado
o.Apellido  Empleado.IDde
epartamento departamento.N ombreDepartameento departameento.IDDepartameento 
 
Smith  34  Producción 34 
Jordán  33  Ingeniería  33 
Róbinsson  34  Producción 34 
Gasparr  36  NULL  NULL 
Steinbe erg  33  Ingeniería  33 
Raffertty  31  Ventas  31 
NULL  NULL  Marketing  35 
 
Como  se  puede  notar,  en  este  caso 
c se encuentra  el  emppleado  Gaspaar  con  valor  n
nulo  en  su árrea 
corresp pondiente,  y  se  muestra  además  el  departamentto  de  Markeeting  con  vallor  nulo  en  los 
empleaados de esa áárea. 
 
Alguno os sistemas dee bases de daatos no soportan esta fun cionalidad, p pero esta puede ser emulaada 
a travé és de las combbinaciones dee tabla izquierda, tabla derrecha y de la setencia de u union union.
 
J. El miismo ejemplo o puede expre esarse así: 
 
SELECTT * 
FROM   empleado 
       LEFFT JOIN departamento 
ON empleado.IDDepartamento = departamento.IDD
          O Departamento o 
UNION N 
SELECTT * 
FROM   empleado 
       RIGGHT JOIN dep partamento 
ON empleado.IDDepartamento = departamento.IDD
          O Departamento o 
WHEREE  empleado.IDDepartame ento IS NULL
 
 
ALGU
UNAS FUNC
CIONES QU
UE EXISTEN
N EN SQL

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

 
Entre las funciones que manejjan cadenas de caractere
es se encuen
ntran las sig
guientes:

cad1||cad2: Conca
atena las cadenas de ca
aracteres. Lo
os nombres de columna
as son caden
nas
s.
validas

LENGT
TH (cadena): Encuentra la longitud de
d la cadena
a.

SUBST
TR (cad,posic_inicial [,long]): En
ncuentra la
a subcadena de "long
g" caractere
es,
empez
zando en "po
osic_inicial".

UPPER
R (cadena): Cambia
C los caracteres
c minúsculas
m po
or mayúscullas.

LOWER
R (cadena): Cambia los caracteres mayúsculas
m p
por minúscu
ulas.

TO_NU
UMBER (cade
ena): Convierte los datos carácter (compuesto
os por núme
eros) en valo
ore
numérricos.

TO_CH
HAR (cadena e un campo numérico en
a): Convierte n tipo caráctter.

LPAD (cadena,lon
ng_n [,carac
c]): Rellen
na la izquie
erda de la
a cadena con el "cara
ac"
especiificado (po
or defecto blancos),
b ha
asta que la longitud de la cadena nueva s
sea
"long_
_n".

RPAD (cad,long_n [,caract]): Rellena la derecha


d de la cadena co
on el "carac
c" especifica
ado
cos), hasta que la longitu
(por defecto blanc ud de la cad ena nueva ssea "long_n"..

cad1,cad2): Si cad1 es nulo


NVL (c n retorna cad2. En ottro caso reto
orna cad1.

DECOD
DE (cadena,caso1,rcad1, .,defecto): La salida
a es el resu
ultado ad1" donde la
"rca
cadena iguale la ocurrencia
o de
e caso1 y as ento es el valor
si sucesivam ente. El último argume
efecto.
por de

INITCA
AP(cadena): Vuelve
V úscula la letrra inicial de la cadena.
mayú

LTRIM(cadena,grupo): Va rem
moviendo de
d izquierda cteres que se
a a derecha los carac
encuentran en el grupo.
g

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q. 
 
 
 

RTRIM
M(cadena,gru
upo): Va rem
moviendo de
d derecha a izquierda los carac
cteres que se
encuentran en el grupo.
g

HAR (fecha,formato): Convierte


TO_CH C un e caracteres para pod
na fecha a cadena de der
imprim
mirse.

TO_DA
ATE (fecha,fo
ormato): Co
onvierte cade
ena de caraccteres a fech
has.

“Fo
ormamos cciudadanoss profesionnales para eel mundo”” 
EAM 2010 ® ‐ Armeniaa Q.