Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SQL400 PDF
SQL400 PDF
1. Que es el SQL?
2. Consultas bsicas
3. Consultas avanzadas
4. Funciones
5. Agrupamientos
7. Actualizacin
8. Borrar
9. Insertar
Autor: DANIEL HUGO ENRIQUEZ LEIVAS
Que es el SQL?
El SQL ( Estructure Query Lnguage ) es un lenguaje de programacin
que nos permite trabajar con bases de datos tanto a nivel usuario como
a nivel administrador , permitindonos acceder a la informacin que
contienen. El SQL se puede utilizar desde una terminal o puede estar
embebido dentro de un programa el cual puede haber sido desarrollado
en lenguajes como RPG , COBOL , FORTRAN , VISUAL BASIC , etc. El
estructure query languaje se ha divulgado en los ltimos quince aos
pudiendo encontrar aplicaciones del mismo tanto en ordenadores
personales , redes de PC , mainframe y Host. Nos permite realizar
consultas y tareas de administracin en forma amigable y con poco
esfuerzo. Consultar , actualizar , crear y borrar registros como as
tambin tablas, es una tarea sencilla con SQL. Como todo lenguaje
tiene su sintaxis y semntica la cual desarrollaremos siguiendo las
especificaciones de IBM. Cabe aclarar que el SQL se encuentra
estandarizado por el ANSI ( Instituto Americano de Normas ) y por la
ISO ( International Standards Organization ). Este lenguaje esta
compuesto por:
Palabras predefinidas
Nombres de objetos
!" Tablas
!" Campos
Constantes
Signos
CODS
SECD
5
30
N
A
SECD
SECTOR TECNOLOGAS
SECTOR CONSUMO
SECTOR FARMACEUTICO
SECD
SECTOR TECNOLOGAS
SECTOR CONSUMO
SECTOR FARMACEUTICO
SECD
SECTOR CONSUMO
SECTOR FARMACEUTICO
CODAT
CODST
DESAT
PAIS
5
5
35
3
N
N
A
A
0
0
CODAT
10
15
45
70
25
CODST
10
10
30
10
10
35
20
30
50
40
30
20
20
20
10
DESAT
BBVA TELECOMUNICACIONES
RENTA 4 TECNOLOGIA
BANKPYME MULTISALUD
BCH INTERNET
CARMINAGNAC
TECHNOLOGIES
BBL INVT. FOOD & DEVE
BAWESTO SECTOR CONSUMO
FONDOESPACE FINANCIERO
FRAMLINGTON FINANCIAL
FINSBURY TECHNOLOGY TR
PAIS
ES
ES
ES
ES
FR
BL
ES
ES
UK
UK
PAIS
ES
BL
CODAT
10
15
45
70
20
30
DESAT
BBVA TELECOMUNICACIONES
RENTA 4 TECNOLOGIA
BANKPYME MULTISALUD
BCH INTERNET
BAWESTO SECTOR CONSUMO
FONDOESPACE FINANCIERO
PAIS
ES
ES
ES
ES
ES
ES
CODAT
10
15
70
40
DESAT
BBVA TELECOMUNICACIONES
RENTA 4 TECNOLOGIA
BCH INTERNET
FINSBURY TECHNOLOGY TE
Ahora queremos visualizar todos los registros del archivo que no sean
acciones de empresas de Espaa.
SELECT CODAT , DESAT FROM ACCION WHERE PAIS <> ES
Observemos el operador de comparacin <> esto quiere decir que
deseamos que se cumpla la condicin campo PAIS distinto de ES
Autor: DANIEL HUGO ENRIQUEZ LEIVAS
CODAT DESAT
25
CARMINAGNAC
TECHNOLOGIES
35
BBL INVT. FOOD & DEVE
50
FRAMLINGTON FINANCIAL
40
FINSBURY TECHNOLOGY TR
CODAA
CODSS
FECT
PCU
CANC
IMPC
PVU
CANV
IMPV
CC
CV
EST
5
5
8
9
9
11
9
9
11
9
9
1
N
N
N
N
N
N
N
N
N
N
N
A
0
0
0
2
0
2
2
0
2
2
2
FECT
20020424
20020428
20020428
20020428
20020428
20020428
20020505
20020505
20020510
20020510
PCU
10
15
11
8
12
9
11
6
9
6
CANC
1000
500
1000
3000
1000
1000
1000
2000
1000
1000
IMPC
9880
7410
10860
23730
11820
8860
10860
11870
8920
5935
PVU
12
16
13
CANV
1000
500
1000
IMPV
11860
7890
12830
14
1000
13780
13
1000
12830
CC
120
90
140
270
180
140
140
130
80
65
CV
140
110
170
EST
V
V
V
C
220 V
C
170 V
C
C
C
Se nos pide realizar una consulta para visualizar las acciones de BBVA
Telecomunicaciones que se han vendido
SELECT * FROM MOVIA WHERE EST = V AND CODA=10
En resultado ser el siguiente:
CODAA
10
10
10
COD
S
10
10
10
FECT PCU
20020424
20020428
20020210
10
11
11
CANC
IMPC PVU
1000
9880
1000 10860
1000 10860
12
13
13
CANV
IMPV
CC
CV EST
10
CODAA
50
35
PCU
15
12
IMPC
7410
11820
PVU
16
14
IMPV
7890
13780
CODSS
FECT PC
CANC
IMPC
PVU
CANV
IMPV
CC
50
35
45
20
20
20
30
30
20
20
20020428 15
20020428 12
20020428
9
20020505
6
20020510
6
500
1000
1000
2000
1000
7410
11820
8860
11870
5935
16
14
500
1000
7890
13780
90
180
140
130
65
CV
EST
110 V
220 V
C
C
C
CODSS
20
20
20
20
FECT PC
20020510
20020505
6
6
CANC
IMPC
1000
2000
5935
11870
PVU
CANV
IMPV
CC
CV
65
130
C
C
EST
11
CODAA CODS
S
10
10
50
20
10
10
70
10
35
30
45
30
FECT
PCU
CANC
IMPC
PVU
CANV
IMPV
CC
20020424
20020428
20020428
20020428
20020428
20020428
10
15
11
8
12
9
1000
500
1000
3000
1000
1000
9880
7500
10860
23730
11820
8860
12
16
13
1000
500
1000
11860
7890
12830
14
1000
13780
120
90
140
270
180
140
CV
EST
140 V
110 V
170 V
C
220 V
C
CODS
10
10
10
20
30
30
IMPC
9880
10860
23730
7410
11820
8860
PVU
12
13
CANV
1000
1000
IMPV
11860
12830
16
14
500
1000
7890
13780
CC
120
140
270
90
180
140
CV EST
140 V
170 V
C
110 V
220 V
C
12
Consultas avanzadas
Hemos llegado a un punto donde realizares consultas avanzadas
Queremos calcular la Rentabilidad luego de impuesto de los
movimientos de acciones vendidas en base a la informacin que se
encuentra en la tabla MOVIA.
Definamos la formula de rentabilidad en la compra y venta de
acciones considerando que sobre el importe que resulta de restar el
importe de venta menos el de compra se tributa el 10 % de impuesto.
Los importes de venta y compra son netos de comisiones.
R = (((IMPV IMPC) * 0.90) / IMPC ) * 100
Aclaremos con un ejemplo numrico en base al primer registro de la
tabla:
R = ((( 11860 9880) * 0.90) / 9880 + CC * 100 = 17,86
Nuestra sentencia SQL ser la siguiente
SELECT CODAA, IMPC, IMPV, ((( IMPV IMPC) * 0.90 ) / IMPC +
CC ) * 100 FROM MOVIA WHERE EST= V ORDER BY CODA ,
CODS
El resultado ser el siguiente
CODAA
IMPC
10
9880
10 10860
10 10860
35 11820
50
7410
IMPV
11860
12830
12830
13780
7890
COL-4
18,03
15,32
15,32
12,92
4,82
13
IMPC
IMPV COL-4
9880 11860 18,03
14
CODAA
20
70
10
IMPC
5935
8920
9880
IMPV
CC
65
80
11860 120
CV
140
CODST
10
10
30
10
10
35
20
30
50
40
30
20
20
20
10
DESAT
BBVA TELECOMUNICACIONES
RENTA 4 TECNOLOGIA
BANKPYME MULTISALUD
BCH INTERNET
CARMINAGNAC
TECHNOLOGIES
BBL INVT. FOOD & DEVE
BAWESTO SECTOR CONSUMO
FONDOESPACE FINANCIERO
FRAMLINGTON FINANCIAL
FINSBURY TECHNOLOGY TR
PAIS
ES
ES
ES
ES
FR
BL
ES
ES
UK
UK
PAIS
BL
ES
15
PAIS
ES
FR
UK
ES
16
Funciones
Las funciones SQL nos permiten realizar operaciones con datos
contenidos en las tablas.
Funcin LENGHT
Con esta funcin podemos conocer la longitud de los datos contenidos
en un determinado campo.
Queremos visualizar aquellos nombre de acciones que tengan 12
caracteres
CODAT
10
15
45
70
25
CODST
10
10
30
10
10
35
20
30
50
40
30
20
20
20
10
DESAT
BBVA TELECOMUNICACIONES
RENTA 4 TECNOLOGIA
BANKPYME MULTISALUD
BCH INTERNET
CARMINAGNAC
TECHNOLOGIES
BBL INVT. FOOD & DEVE
BAWESTO SECTOR CONSUMO
FONDOESPACE FINANCIERO
FRAMLINGTON FINANCIAL
FINSBURY TECHNOLOGY TR
PAIS
ES
ES
ES
ES
FR
BL
ES
ES
UK
UK
PAIS
ES
17
PAIS
ES
FR
BL
ES
ES
UK
UK
FUNCION SUBSTR
Al aplicar esta funcin a un campo alfanumrico obtendremos una
subcadena del mismo cuyo comienzo y longitud debemos definir en los
argumentos de la funcin:
Queremos visualizar el campo DESA a partir del tercer carcter y con
una longitud de siete caracteres, entonces nuestra bsqueda se
expresara de la siguiente forma
18
CODAT
10
25
35
20
30
50
40
DESAT
VA TELE
RMINAGN
L INVT.
WESTO S
NDOESP
AMLING
FINSBURY TECHNOLOGY TR
CODAT
20
35
10
25
40
30
50
DESAT
BAWESTO SE
BBL INVT. FO
BBVA TELEC
CARMINAGNA
FINSBURY T
FONDOESPAC
FRAMLINGTO
Funcin SUM
Con esta funcin podemos sumar los campos numricos dentro de una
tabla. Supongamos que necesitamos saber
Autor: DANIEL HUGO ENRIQUEZ LEIVAS
19
CODSS
10
50
10
70
35
45
10
20
70
20
10
20
10
10
30
30
10
20
10
20
FECT PC
U
20020424 10
20020428 15
20020428 11
20020428
8
20020428 12
20020428
9
20020505 11
20020505
6
20020510
9
20020510
6
CANC
IMPC
PVU
CANV
IMPV
CC
1000
500
1000
3000
1000
1000
1000
2000
1000
1000
9880
7410
10860
23730
11820
8860
10860
11870
8920
5935
12
16
13
1000
500
1000
11860
7890
12830
14
1000
13780
13
1000
12830
120
90
140
270
180
140
140
130
80
65
CV
140 V
110 V
170 V
C
220 V
C
170 V
C
C
C
COL-1
59860
COL-2
50830
COL-3
810
COL-4
670
COL-5
8360
Funcin MAX
Nos permite conocer el valor mximo de un campo numrico dentro de
una tabla
EST
20
COL-1
11860
COL-2
13780
COL-3
180
COL-4
220
Funcin MIN
Nos permite conocer el valor minimo de un campo numrico dentro de
una tabla
Supongamos que queremos conocer los valores mininos de importe de
compra , importe de venta, comisin de compra y comisin de venta, de
las acciones vendidas, entonces nuestra sentencia SQL ser:
COL-1
7410
COL-2
7890
COL-3
90
COL-4
110
21
Funcin AVG
Nos permite conocer el valor promedio de un campo numrico dentro de
una tabla
Supongamos que queremos conocer los valores promedio de importe de
compra , importe de venta, comisin de compra y comisin de venta,
entonces nuestra sentencia SQL ser:
COL-1
10166
COL-2
11838
COL-3
134
COL-4
162
Funcin COUNT
Nos permite conocer la cantidad de registros que tiene una tabla o un
subconjunto de la misma
Por ejemplo deseamos conocer cuantos registros de acciones sin vender
tenemos en nuestra tabla MOVIA
22
COL-1
670
COL-2
5
COL-3
134
23
Agrupamientos
CODAA CODS
10
10
50
20
10
10
70
10
35
30
45
30
10
10
20
20
70
10
20
20
FECT
20020424
20020428
20020428
20020428
20020428
20020428
20020505
20020505
20020510
20020510
PCU
10
15
11
8
12
9
11
6
9
6
CANC
1000
500
1000
3000
1000
1000
1000
2000
1000
1000
IMPC
9880
7410
10860
23730
11820
8860
10860
11870
8920
5935
PVU
12
16
13
CANV
1000
500
1000
IMPV
11860
7890
12830
14
1000
13780
13
1000
12830
CC
120
90
140
270
180
140
140
130
80
65
CV EST
140 V
110 V
170 V
C
220 V
C
170 V
C
C
C
CODAA
10
35
50
Col-1
Col-2
10533,3333 12506,6667
11820
13780
7410
7890
24
El resultado sera
CODAA
10
35
Col-1
Col-2
10533,3333 12506,6667
11820
13780
25
CODAA
45
20
20
35
10
10
10
70
70
50
DESA
BANKPYME MULTISALUD
BAWESTO SECTOR CONSUMO
BAWESTO SECTOR CONSUMO
BBL INVT. FOOD & DEVE
BBVA TELECOMUNICACIONES
BBVA TELECOMUNICACIONES
BBVA TELECOMUNICACIONES
BCH INTERNET
BCH INTERNET
FRAMLINGTON FINANCIAL
IMPC
8860
11870
5935
11820
9880
10860
10860
23730
8920
7410
IMPV
13780
11860
12830
12830
7890
26
Actualizacin
En muchas ocasiones deberemos actualizar las tablas ya sea un
registro o varios registros. El lenguaje SQL nos brinda la sentencia
UPDATE la que permite actualizar el contenido de los campos de un
registro existente.
CODAA CODS
10
10
50
20
10
10
70
10
35
30
45
30
10
10
20
20
70
10
20
20
FECT
20020424
20020428
20020428
20020428
20020428
20020428
20020505
20020505
20020510
20020510
PCU
10
15
11
8
12
9
11
6
9
6
CANC
1000
500
1000
3000
1000
1000
1000
2000
1000
1000
IMPC
9880
7410
10860
23730
11820
8860
10860
11870
8920
5935
PVU
12
16
13
CANV
1000
500
1000
IMPV
11860
7890
12830
14
1000
13780
13
1000
12830
CC
120
90
140
270
180
140
140
130
80
65
CV EST
140 V
110 V
170 V
C
220 V
C
170 V
C
C
C
CODAA CODS
10
10
50
20
10
10
70
10
35
30
45
30
10
10
20
20
70
10
20
20
FECT
20020424
20020428
20020428
20020428
20020428
20020428
20020505
20020505
20020510
20020510
PCU
10
15
11
8
12
9
11
6
9
6
CANC
1000
500
1000
3000
1000
1000
1000
2000
1000
1000
IMPC
9880
7410
10860
23730
11820
8860
10860
11870
8920
5935
PVU
12
16
13
CANV
1000
500
1000
IMPV
11860
7890
12830
14
1000
13780
13
8
1000
2000
12830
15850
CC
120
90
140
270
180
140
140
130
80
65
CV EST
140 V
110 V
170 V
C
220 V
C
170 V
150 V
C
C
27
COD
S
10
20
10
10
30
30
10
20
10
20
FECT PCU
20020424
20020428
20020428
20020428
20020428
20020428
20020505
20020505
20020510
20020510
10
15
11
8
12
9
11
6
9
6
CANC
1000
500
1000
3000
1000
1000
1000
2000
1000
1000
IMPC PVU
9880
7410
10860
23730
11820
8860
10860
11870
8920
5935
12
16
13
14
13
8
8
CANV
IMPV
CC
CV EST
140 V
110 V
170 V
C
220 V
C
170 V
150 V
C
80 V
28
Borrar
La operacin de borrar uno , varios o todos los registros de una tabla
esta contemplada por la sentencia DELETE.
Supongamos que queremos borrar de nuestra tabla ACCION aquellas
cuyo cdigo de pas sea UK
CODA
10
15
45
70
25
35
20
30
50
40
CODS
10
10
30
10
10
30
20
20
20
10
DESA
BBVA TELECOMUNICACIONES
RENTA 4 TECNOLOGIA
BANKPYME MULTISALUD
BCH INTERNET
CARMINAGNAC TECHNOLOGIES
BBL INVT. FOOD & DEVE
BAWESTO SECTOR CONSUMO
FONDOESPACE FINANCIERO
FRAMLINGTON FINANCIAL
FINSBURY TECHNOLOGY TR
PAIS
ES
ES
ES
ES
FR
BL
ES
ES
UK
UK
CODA
10
15
45
70
25
35
20
30
CODS
10
10
30
10
10
30
20
20
DESA
BBVA TELECOMUNICACIONES
RENTA 4 TECNOLOGIA
BANKPYME MULTISALUD
BCH INTERNET
CARMINAGNAC TECHNOLOGIES
BBL INVT. FOOD & DEVE
BAWESTO SECTOR CONSUMO
FONDOESPACE FINANCIERO
PAIS
ES
ES
ES
ES
FR
BL
ES
ES
29
COD
SS
10
20
10
10
30
30
10
20
10
20
FECT PCU
20020424
20020428
20020428
20020428
20020428
20020428
20020505
20020505
20020510
20020510
10
15
11
8
12
9
11
6
9
6
CANC
1000
500
1000
3000
1000
1000
1000
2000
1000
1000
IMPC PVU
9880
7410
10860
23730
11820
8860
10860
11870
8920
5935
12
16
13
14
13
CANV
IMPV
CC
CV EST
140 V
110 V
170 V
C
220 V
C
170 V
C
C
C
COD
SS
10
30
10
20
10
20
FECT PCU
20020428
20020428
20020505
20020505
20020510
20020510
8
9
11
6
9
6
CANC
IMPC PVU
3000 23730
1000
8860
1000 10860
2000 11870
1000
8920
1000
5935
13
CANV
IMPV
CC
CV EST
270
C
140
C
1000 12830 140 170 V
130
C
80
C
65
C
30
Insertar
La manera de insertar un registro en una tabla esta contemplada por la
sentencia INSERT INTO
Nos haba quedado la tabla MOVIA con los siguientes datos luego de
realizar la ultima sentencia DELETE
CODAA
70
45
10
20
70
20
COD
SS
10
30
10
20
10
20
FECT PCU
20020428
20020428
20020505
20020505
20020510
20020510
8
9
11
6
9
6
CANC
IMPC PVU
3000 23730
1000
8860
1000 10860
2000 11870
1000
8920
1000
5935
13
CANV
IMPV
CC
CV EST
270
C
140
C
1000 12830 140 170 V
130
C
80
C
65
C
CODAA
70
45
10
20
70
20
70
COD
S
10
30
10
20
10
20
20
FECT PCU
20020428
20020428
20020505
20020505
20020510
20020510
20020610
8
9
11
6
9
6
10
CANC
IMPC PVU
3000 23730
1000
8860
1000 10860
2000 11870
1000
8920
1000
5935
1000
9800
13
CANV
IMPV
CC
CV EST
270
C
140
C
1000 12830 140 170 V
130
C
80
C
65
C
200
C
31