Business
Intelligence
Intelligence
Temario
Temario
Repaso de SQL
PAC (Administracin)
PI (!TL)
%e&a ("ining)
Reportes (PR)
Bases de datos
Bases de datos
e'inicin y tipos de Bs
e'inicin y tipos de Bs
Transaccionales Transaccionales
(optimi+an operaciones) (optimi+an operaciones)
Relacionales Relacionales
(normali+acin) (normali+acin)
"ultidimensionales "ultidimensionales
(hechos y dimensiones) (hechos y dimensiones)
Ta$las
Ta$las
Columnas
Columnas
2ilas
2ilas
Registros
Registros
Campos
Campos
Bases de datos
Bases de datos
"odelo relacional
"odelo relacional
Caracter3sticas
Caracter3sticas
Cat)logos
Cat)logos
Lla4es
Lla4es
primarias
primarias
Lla4es 'or)neas
Lla4es 'or)neas
5o admite
5o admite
redundancia
redundancia
Sistemas
Sistemas
operacionales
operacionales
Bases de datos
Bases de datos
"odelo dimensional
"odelo dimensional
Caracter3sticas
Caracter3sticas
Ta$las de
Ta$las de
dimensiones
dimensiones
Ta$las de hechos
Ta$las de hechos
Lla4es su$rogadas
Lla4es su$rogadas
Admite redundancia
Admite redundancia
ata %arehouses
ata %arehouses
y
y
ata "arts
ata "arts
PostgreSQL
PostgreSQL
Licencia BS (Admite el uso de su cdigo 'uente en so't#are propietario), Licencia BS (Admite el uso de su cdigo 'uente en so't#are propietario),
isponi$le para Linu1 y -5IK en todas sus 4ariantes (AIK/ BS/ LP6-K/ isponi$le para Linu1 y -5IK en todas sus 4ariantes (AIK/ BS/ LP6-K/
S9I IRIK/ "ac AS K/ Solaris/ TruGB) y %indo#s HM8GB$it, S9I IRIK/ "ac AS K/ Solaris/ TruGB) y %indo#s HM8GB$it,
2unciones8procedimientos almacenados (stored procedures) en numerosos 2unciones8procedimientos almacenados (stored procedures) en numerosos
lengua0es de programacin/ entre otros PL8pgSQL (similar al PL8SQL de lengua0es de programacin/ entre otros PL8pgSQL (similar al PL8SQL de
Aracle)/ PL8Perl/ PL8Python y PL8Tcl, Aracle)/ PL8Perl/ PL8Python y PL8Tcl,
5umerosos tipos de datos y la posi$ilidad de de'inir nue4os tipos, 5umerosos tipos de datos y la posi$ilidad de de'inir nue4os tipos,
Adem)s de los tipos est)ndares en cual*uier $ase de datos/ tenemos Adem)s de los tipos est)ndares en cual*uier $ase de datos/ tenemos
disponi$les/ entre otros/ tipos geomFtricos/ de direcciones de red/ de disponi$les/ entre otros/ tipos geomFtricos/ de direcciones de red/ de
cadenas $inarias/ --I/ K"L/ matrices/ etc, cadenas $inarias/ --I/ K"L/ matrices/ etc,
Soporta el almacenamiento de o$0etos $inarios grandes, Soporta el almacenamiento de o$0etos $inarios grandes,
APIs para programar en C8CNN/ (a4a/ ,5et/ Perl/ Python/ Ru$y/ Tcl/ ABC/ APIs para programar en C8CNN/ (a4a/ ,5et/ Perl/ Python/ Ru$y/ Tcl/ ABC/
PLP/ Lisp/ Scheme/ Qt y muchos otros, PLP/ Lisp/ Scheme/ Qt y muchos otros,
PostgreSQL
PostgreSQL
Instalacin
Instalacin
PostgreSQL
PostgreSQL
2uentes
2uentes
Instalador
Instalador
Inter'aces
Inter'aces
ps*l
ps*l
pgAdmin
pgAdmin
http.88###,postgres*l,org8 http.88###,postgres*l,org8
PostgreSQL
PostgreSQL
Instalacin Instalacin
pgAdmin
pgAdmin
PostgreSQL
PostgreSQL
Iniciar y detener PostgreSQL
Iniciar y detener PostgreSQL
Como superusuario Como superusuario
saraT5aomi. sudo su saraT5aomi. sudo su
Iniciar el servicio Iniciar el servicio
rootT5aomi.8home8saraU rootT5aomi.8home8saraU
8etc8init,d8postgres*l start 8etc8init,d8postgres*l start
Detener el servicio Detener el servicio
rootT5aomi.8home8saraU rootT5aomi.8home8saraU
8etc8init,d8postgres*l stop 8etc8init,d8postgres*l stop
Para con'igurar *ue el ser4idor de
Postgres arran*ue al le4antar el
e*uipo de$emos editar el archi4o
start,con'
saraT5aomi. sudo su 6 postgres
RsudoSp#d.
saraT5aomi. nano
8etc8postgres*l8;,H8main8start,con'
PostgreSQL
PostgreSQL
Iniciar y detener PostgreSQL
Iniciar y detener PostgreSQL
PostgreSQL
PostgreSQL
Comandos bsicos de psql
Comandos bsicos de psql
!ntrar desde una terminal con. !ntrar desde una terminal con. sudo su - postgres sudo su - postgres
Como usuario postgres e0ecutar la orden. Como usuario postgres e0ecutar la orden. psql psql Rnom$re$dS Rnom$re$dS
VW muestra el listado de los comandos de ps*l (salir VW muestra el listado de los comandos de ps*l (salir
con *) con *)
Vh muestra la lista de rdenes para generar sentencias Vh muestra la lista de rdenes para generar sentencias
Vh RordenS muestra la sinta1is de las sentencias en Vh RordenS muestra la sinta1is de las sentencias en
PostgreSQL PostgreSQL
Vc R Vc Rnombrebase nombrebaseS conectarse a la $ase de datos con ese S conectarse a la $ase de datos con ese
nom$re nom$re
Vp mostrar el contenido del $7'er de consulta Vp mostrar el contenido del $7'er de consulta
V# R V# Rnombrearchivo nombrearchivoS escri$ir el $u'er de consulta en un archi4o S escri$ir el $u'er de consulta en un archi4o
Los siguientes comandos con un Los siguientes comandos con un S+ S+ detallan la consulta. detallan la consulta.
Vd R Vd Rnombretabla o ndice o vista nombretabla o ndice o vistaS despliega el detalle de la S despliega el detalle de la
ta$la/ el 3ndice o la 4ista ta$la/ el 3ndice o la 4ista
Vd enlista las ta$las/ 4istas y secuencias Vd enlista las ta$las/ 4istas y secuencias
Vdt enlista las ta$las de la $ase de datos acti4a Vdt enlista las ta$las de la $ase de datos acti4a
Vpass#ord RusuarioS cam$ia el pass#ord de un usuario Vpass#ord RusuarioS cam$ia el pass#ord de un usuario
Vcopyright muestra la 4ersin de PostgreSQL instalada Vcopyright muestra la 4ersin de PostgreSQL instalada
PostgreSQL
PostgreSQL
Comandos bsicos de psql
Comandos bsicos de psql
select currentQuser/ sessionQuserX les permite sa$er *uiFn select currentQuser/ sessionQuserX les permite sa$er *uiFn
es el usuario conectado es el usuario conectado
set session authori+ation nue4ousuarioX permite cam$iar de set session authori+ation nue4ousuarioX permite cam$iar de
usuario de N a 6 usuario de N a 6
pri4ilegios pri4ilegios
I5S!RT I5S!RT
-PAT! -PAT!
!L!T! !L!T!
S!L!CT S!L!CT
Cl)usulas S!L!CT/ 2RA"/ I5TA/ %L!R! Cl)usulas S!L!CT/ 2RA"/ I5TA/ %L!R!
Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC
Tipos de (AI5 Tipos de (AI5
Su$*ueries Su$*ueries
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
CR!AT! ATABAS!
CR!AT! ATABAS!
Las ta$las se de'inen en tres pasos. Las ta$las se de'inen en tres pasos.
e'inir cada columna/ incluyendo restricciones e'inir cada columna/ incluyendo restricciones
de columna. de columna.
Primary Zey. especi'ica las columnas *ue con'orman la Primary Zey. especi'ica las columnas *ue con'orman la
cla4e primaria de la ta$la, cla4e primaria de la ta$la,
2oreign &ey. indica las columnas *ue constituyen una cla4e 2oreign &ey. indica las columnas *ue constituyen una cla4e
e1terna en la ta$la, e1terna en la ta$la,
Re'erences. indica la ta$la *ue pro4ee la cla4e 'or)nea, Re'erences. indica la ta$la *ue pro4ee la cla4e 'or)nea,
Chec& (P). especi'ica un predicado *ue de$e satis'acer cada Chec& (P). especi'ica un predicado *ue de$e satis'acer cada
'ila de la ta$la 'ila de la ta$la
CR!AT! ATABAS!
CR!AT! ATABAS!
CR!AT! ATABAS! nom$re6ta$la CR!AT! ATABAS! nom$re6ta$la
R R %ITL S R A%5!R R[S nom$reQdeQusuario S R R %ITL S R A%5!R R[S nom$reQdeQusuario S
R T!"PLAT! R[S plantilla S R T!"PLAT! R[S plantilla S
R !5CAI59 R[S codi'icacin S R !5CAI59 R[S codi'icacin S
R TABL!SPAC! R[S nom$reQdeQta$lespace S R TABL!SPAC! R[S nom$reQdeQta$lespace S
R CA55!CTIA5 LI"IT R[S l3miteQcone1iones S S R CA55!CTIA5 LI"IT R[S l3miteQcone1iones S S
5ota/ para crear ta$las de$emos conectarnos a la B 5ota/ para crear ta$las de$emos conectarnos a la B
reciFn creada con Vc nom$reB reciFn creada con Vc nom$reB
!0emplo. CR!AT! ATABAS! prue$a:X
!0emplo. CR!AT! ATABAS! prue$a:X
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
C"#AT# TA!L#
C"#AT# TA!L#
CR!AT! TABL! nom$re6ta$la CR!AT! TABL! nom$re6ta$la
(campo: (tipo tamaJo 8 dominio) R5AT 5-LLS/ (campo: (tipo tamaJo 8 dominio) R5AT 5-LLS/
RcampoM (tipo tamaJo 8 dominio) R5AT 5-LLSS/ RcampoM (tipo tamaJo 8 dominio) R5AT 5-LLSS/
RPRI"ARC Z!C (c:/ cM/ ,,,/ cn)S/ RPRI"ARC Z!C (c:/ cM/ ,,,/ cn)S/
R2AR!I95 Z!C (c:) R!2!R!5C!S ta$la61S/ R2AR!I95 Z!C (c:) R!2!R!5C!S ta$la61S/
RCL!CZ (P)S) RCL!CZ (P)S)
CR!AT! TABL! clientes CR!AT! TABL! clientes
(idQcliente char(>) primary &ey not null/ (idQcliente char(>) primary &ey not null/
nom$re te1t/ nom$re te1t/
direccion te1t)X direccion te1t)X
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
C"#AT# TA!L#
C"#AT# TA!L#
CR!AT! TABL! cuenta CR!AT! TABL! cuenta
(idQcuenta char(:D) PRI"ARC Z!C 5AT 5-LL/ (idQcuenta char(:D) PRI"ARC Z!C 5AT 5-LL/
idQcliente char(>) R!2!R!5C!S clientes(idQcliente)/ idQcliente char(>) R!2!R!5C!S clientes(idQcliente)/
pagos char(:D)/ pagos char(:D)/
saldo integer saldo integer
CL!CZ (saldo O[ D))X CL!CZ (saldo O[ D))X
CR!AT! TABL! au1iliar CR!AT! TABL! au1iliar
(idQau1iliar integer PRI"ARC Z!C)X (idQau1iliar integer PRI"ARC Z!C)X
CR!AT! I5!K miQindice CR!AT! I5!K miQindice
A5 au1iliar (idQau1iliar ASC 5-LLS LAST)X A5 au1iliar (idQau1iliar ASC 5-LLS LAST)X
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
ALT!R TABL!
ALT!R TABL!
ALT!R TABL! ALT!R TABL! nombre-tabla nombre-tabla
\A ] "AI2C \A ] "AI2C
RCAL-"5 RCAL-"5 campo tipo campo tipo R( R(tamao tamao)S R5AT 5-LLS )S R5AT 5-LLS
RCA5STRAI5T RCA5STRAI5T nombre-constraint tipo-constraint nombre-constraint tipo-constraintSS SS $ $
RCA5STRAI5T nom$re6constraint RCA5STRAI5T nom$re6constraint tipo-constraint tipo-constraint (campo/ (campo/
^)S_ ^)S_
Adicionar un campo. Adicionar un campo.
ALT!R TABL! clientes A CAL-"5 limiteQcredito ALT!R TABL! clientes A CAL-"5 limiteQcredito
numeric(:>/M)X numeric(:>/M)X
Quitar el campo salario de una ta$la. Quitar el campo salario de una ta$la.
ALT!R TABL! cuenta RAP CAL-"5 pagosX ALT!R TABL! cuenta RAP CAL-"5 pagosX
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
RAP TABL!
RAP TABL!
RAP \TABL! ta$la ] I5!K 3ndice A5 ta$la_
RAP \TABL! ta$la ] I5!K 3ndice A5 ta$la_
!0emplo. eliminar el 3ndice miQIndice de la
!0emplo. eliminar el 3ndice miQIndice de la
ta$la au1iliar,
ta$la au1iliar,
RAP I5!K miQindiceX
RAP I5!K miQindiceX
!0emplo. eliminar una ta$la,
!0emplo. eliminar una ta$la,
RAP TABL! au1iliarX
RAP TABL! au1iliarX
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
I5S!RT I5S!RT
I5S!RT RI5TAS I5S!RT RI5TAS
\ta$le6name ] 4ie#6name_ R(column6list)S \ta$le6name ] 4ie#6name_ R(column6list)S
\YAL-!S ] (4alues6list) ] select6statement _ \YAL-!S ] (4alues6list) ] select6statement _
I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito) I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito)
YAL-!S (`ADDD:`/`Almacenes !strada`/`Ayuntamiento 5o, M:HM`/>DDDD)X YAL-!S (`ADDD:`/`Almacenes !strada`/`Ayuntamiento 5o, M:HM`/>DDDD)X
I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito) I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito)
YAL-!S (`ADDDM`/`Casa Rayo`/`Re4olucin 5o, HH`/>DDDD)X YAL-!S (`ADDDM`/`Casa Rayo`/`Re4olucin 5o, HH`/>DDDD)X
I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito) I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito)
YAL-!S (`ADDDH`/`"iguel 5a4a`/`San Cristo$al s8n`/:DDDD)X YAL-!S (`ADDDH`/`"iguel 5a4a`/`San Cristo$al s8n`/:DDDD)X
I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito) I5S!RT I5TA clientes (idQcliente/ nom$re/ direccion/ limiteQcredito)
YAL-!S (`ADDDB`/`%aldos de "F1ico`/`"arina 5acional ;==<`/:DDDDD)X YAL-!S (`ADDDB`/`%aldos de "F1ico`/`"arina 5acional ;==<`/:DDDDD)X
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
I5S!RT I5S!RT
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDDD>`/`ADDD:`/M>B:G)X (`AD;BDDDD>`/`ADDD:`/M>B:G)X
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDDDG`/`ADDD:`/:=;>D)X (`AD;BDDDDG`/`ADDD:`/:=;>D)X
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDDD<`/`ADDDM`/H>DDD)X (`AD;BDDDD<`/`ADDDM`/H>DDD)X
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDDD=`/`ADDDH`/=<>D)X (`AD;BDDDD=`/`ADDDH`/=<>D)X
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDDD;`/`ADDDB`/>GDD)X (`AD;BDDDD;`/`ADDDB`/>GDD)X
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDD>D`/`ADDDB`/HBMD)X (`AD;BDDD>D`/`ADDDB`/HBMD)X
I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S I5S!RT I5TA cuenta (idQcuenta/ idQcliente/ saldo) YAL-!S
(`AD;BDDD>B`/`ADDDM`/B;<D)X (`AD;BDDD>B`/`ADDDM`/B;<D)X
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
-PAT!
-PAT!
-PAT! \ta$le6name ] 4ie#6name_ -PAT! \ta$le6name ] 4ie#6name_
S!T\column6list S!T\column6list
] 4aria$le6list ] 4aria$le6list
] 4aria$leQandQcolumn6list_/^,, ] 4aria$leQandQcolumn6list_/^,,
R %L!R! \ condition _S R %L!R! \ condition _S
-PAT! cuenta S!T saldo[H;<> %L!R! -PAT! cuenta S!T saldo[H;<> %L!R!
idQcuenta[`AD;BDDD>D`X idQcuenta[`AD;BDDD>D`X
-PAT! clientes S!T nom$re[`Aldos de "F1ico` -PAT! clientes S!T nom$re[`Aldos de "F1ico`
%L!R! idQcliente[`ADDDB`X %L!R! idQcliente[`ADDDB`X
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
!L!T!
!L!T!
!L!T! 2RA" \ta$le6name ] 4ie#6name_
!L!T! 2RA" \ta$le6name ] 4ie#6name_
R%L!R! \condition_ S
R%L!R! \condition_ S
!L!T! 2RA"
!L!T! 2RA"
cuenta
cuenta
%L!R!
%L!R!
idQcuenta [
idQcuenta [ `AD;BDDD>D` `AD;BDDD>D`
X
X
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
S!L!CT
S!L!CT
Cl)usulas S!L!CT/ 2RA"/ I5TA/ %L!R!
Cl)usulas S!L!CT/ 2RA"/ I5TA/ %L!R!
S!L!CT ,,, 2RA" ,,, %L!R!
S!L!CT ,,, 2RA" ,,, %L!R!
S!L!CT lista los atri$utos a mostrar en el resultado de la S!L!CT lista los atri$utos a mostrar en el resultado de la
consulta, consulta,
2RA" lista las relaciones (ta$las) *ue se de$en anali+ar, 2RA" lista las relaciones (ta$las) *ue se de$en anali+ar,
%L!R! se re'iere a las condiciones de $7s*ueda *ue %L!R! se re'iere a las condiciones de $7s*ueda *ue
de$er)n cumplir los atri$utos en las relaciones de$er)n cumplir los atri$utos en las relaciones
S!L!CT a 2RA" clientesX S!L!CT a 2RA" clientesX
S!L!CT idQcliente/ nom$re/ direccion/ limiteQcredito S!L!CT idQcliente/ nom$re/ direccion/ limiteQcredito
2RA" clientes %L!R! limiteQcredito O >DDDX 2RA" clientes %L!R! limiteQcredito O >DDDX
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
S!L!CT
S!L!CT
La cl)usula I5TA/ permite guardar los resultados La cl)usula I5TA/ permite guardar los resultados
intermedios de una consulta intermedios de una consulta
RS!L!CT ,,,S I5TA ta$laQinto R2RA" ,,,S RS!L!CT ,,,S I5TA ta$laQinto R2RA" ,,,S
Los alias son 7tiles para e4itar escri$ir nom$res muy Los alias son 7tiles para e4itar escri$ir nom$res muy
largos cada 4e+, Slo 'uncionan en la consulta acti4a, largos cada 4e+, Slo 'uncionan en la consulta acti4a,
RS!L!CT^S RS!L!CT^S
2RA" e1presin ta$la RasS tQalias R/ ,,,S 2RA" e1presin ta$la RasS tQalias R/ ,,,S
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
S!L!CT
S!L!CT
Las condiciones de $7s*ueda pueden incluir. Las condiciones de $7s*ueda pueden incluir.
Aperadores de Comparacin ([/ bO/ b y O), Aperadores de Comparacin ([/ bO/ b y O),
Patrones de caracteres (LIZ! y 5AT LIZ!) Patrones de caracteres (LIZ! y 5AT LIZ!)
Yalores desconocidos (IS 5-LL y IS 5AT 5-LL) Yalores desconocidos (IS 5-LL y IS 5AT 5-LL)
Com$inaciones con con0unciones (A5/ AR) Com$inaciones con con0unciones (A5/ AR)
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
S!L!CT
S!L!CT
!0emplos de condiciones de $7s*ueda. !0emplos de condiciones de $7s*ueda.
S!L!CT
S!L!CT
Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC
S!L!CT \\columnasQdeQagrupacin/^_/ S!L!CT \\columnasQdeQagrupacin/^_/
\'uncinQdeQagregacin/^__ \'uncinQdeQagregacin/^__
2RA" ^ 2RA" ^
R%L!R! ^S R%L!R! ^S
9RA-P BC \columnasQdeQagrupacin/^_ 9RA-P BC \columnasQdeQagrupacin/^_
S!L!CT limiteQcredito 2RA" clientes 9RA-P BC S!L!CT limiteQcredito 2RA" clientes 9RA-P BC
limiteQcreditoX limiteQcreditoX
S!L!CT idQcliente/ S-"(saldo) 2RA" cuenta 9RA-P S!L!CT idQcliente/ S-"(saldo) 2RA" cuenta 9RA-P
BC idQclienteX BC idQclienteX
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
S!L!CT
S!L!CT
Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC
S!L!CT \\columnasQdeQagrupacin/^_/ S!L!CT \\columnasQdeQagrupacin/^_/
\'uncinQdeQagregacin/^__ \'uncinQdeQagregacin/^__
2RA" ^ 2RA" ^
R%L!R! ^S R%L!R! ^S
9RA-P BC \columnasQdeQagrupacin/^_ 9RA-P BC \columnasQdeQagrupacin/^_
LAYI59 condicionesQdeQ$7s*ueda LAYI59 condicionesQdeQ$7s*ueda
S!L!CT idQcliente/ S-"(saldo) 2RA" cuenta S!L!CT idQcliente/ S-"(saldo) 2RA" cuenta
9RA-P BC idQcliente LAYI59 idQcliente LIZ! `AE` 9RA-P BC idQcliente LAYI59 idQcliente LIZ! `AE`
AR!R BC idQclienteX AR!R BC idQclienteX
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
S!L!CT
S!L!CT
Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC Cl)usulas 9RA-P BC/ LAYI59/ AR!R BC
S!L!CT \columna :/ columna M/^_ S!L!CT \columna :/ columna M/^_
2RA" ^ 2RA" ^
R%L!R! ^S R%L!R! ^S
R9RA-P BC,,,S R9RA-P BC,,,S
RLAYI59 ,,,S RLAYI59 ,,,S
AR!R BC columna : RASC]!SCS/,,, AR!R BC columna : RASC]!SCS/,,,
S!L!CT nom$re/ limiteQcredito 2RA" clientes S!L!CT nom$re/ limiteQcredito 2RA" clientes
AR!R BC nom$re !SCX AR!R BC nom$re !SCX
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
Los Los %&IN %&IN sir4en para com$inar ta$las/ en PostgreSQL se de'inen sir4en para com$inar ta$las/ en PostgreSQL se de'inen
los tipos. los tipos.
S!L!CT
S!L!CT
!L (AI5 *ue se utili+a com7nmente es el I55!R (AI5. !L (AI5 *ue se utili+a com7nmente es el I55!R (AI5.
[SELECT] [SELECT]
FROM FROM TABLA1 [INNER] JOIN TABLA2 TABLA1 [INNER] JOIN TABLA2
ON TABLA1.COLUMNA1 = TABLA2.COLUMNA1 ON TABLA1.COLUMNA1 = TABLA2.COLUMNA1
[WHERE] [WHERE]
S!L!CT cl,nom$re/ cl,direccion/ S-"(ct,saldo) 2RA" S!L!CT cl,nom$re/ cl,direccion/ S-"(ct,saldo) 2RA"
cuenta ct I55!R (AI5 clientes cl A5 cuenta ct I55!R (AI5 clientes cl A5
cl,idQcliente[ct,idQcliente 9RA-P BC cl,idQcliente cl,idQcliente[ct,idQcliente 9RA-P BC cl,idQcliente
AR!R BC cl,nom$reX AR!R BC cl,nom$reX
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
S!L!CT
S!L!CT
Su$*ueries
Su$*ueries
S!L!CT cl,nom$re/ cl,limiteQcredito/
S!L!CT cl,nom$re/ cl,limiteQcredito/
ct,totalQsaldo 2RA" (
ct,totalQsaldo 2RA" (
S!L!CT idQcliente/
S!L!CT idQcliente/
S-"(saldo) totalQsaldo 2RA" cuenta
S-"(saldo) totalQsaldo 2RA" cuenta
9RA-P BC idQcliente
9RA-P BC idQcliente
) ct I55!R (AI5
) ct I55!R (AI5
clientes cl A5 cl,idQcliente[ ct,idQcliente
clientes cl A5 cl,idQcliente[ ct,idQcliente
AR!R BC nom$reX
AR!R BC nom$reX
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
Aperadores matem)ticos.
Aperadores matem)ticos.
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
2unciones de agregacin
2unciones de agregacin
SUM([ALL|DISTINCT]
expresin)
Calcula el total de una expresin
nu!rica para todas las "ilas o slo
las distintas#
A$%([ALL|DISTINCT]
expresin)
Calcula el proedio de una expresin
nu!rica para las "ilas in&olucradas#
MIN([ALL|DISTINCT]
expresin)
Calcula el 'nio &alor de una
expresin nu!rica para las "ilas
in&olucradas
MA(([ALL|DISTINCT]
expresin)
Calcula el )xio &alor de una
expresin nu!rica para las "ilas
in&olucradas#
C*UNT([ALL|DISTINC
T] expresin)
Cuenta el n+ero de &eces ,ue se
repite el &alor de la expresin#
C*UNT(-) Cuenta las "ilas seleccionadas
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
Aperadores de comparacin
Aperadores de comparacin
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas
2unciones matem)ticas
2unciones matem)ticas
PostgreSQL
PostgreSQL
Sentencias de SL !sicas
Sentencias de SL !sicas