SQL








Clausula SELECT

____ SELECT ALL ____ * ________ FROM biblioteca/fichero _____
DISTINCT , fichero, fichero ....
fichero.*
fichero.campo
campo

____ WHERE condición busqueda _________ ORDER BY campo

campo, campo ...


Permite seleccionar una tabla de resultados.

Esta instrucción seleccionará todas las filas (ALL) o sin duplicida-
des (DISTINCT),de todos los campos (*) o solo unos campos (indicando
nombre de campo), desde (FROM) el fichero (nombre fichero) o ficheros
seleccionados (fichero, fichero .....) cuando (WHERE) se cumpla la
condición de busqueda.Y ordenados por el campo o campos señalados.

EJEMPLOS:

- Selección de todos los campos de un fichero:

select * from maite/cursql

- Selección de dos campos de un fichero:

select nif,nomemp from maite/cursql

- Selección del máximo valor de un campo de un fichero:

select max(imp) from maite/cursql

- Selección del m¡nimo valor de un campo de un fichero:

select min(imp) from maite/cursql

- Selección del promedio de un campo de un fichero:

select avg(imp) from maite/cursql

- Selección del n£mero de registros de un fichero:

select count(*) from maite/cursql

- Selección de la suma de un campo de un fichero (este campo debe
ser numérico):

select sum(imp) from maite/cursql

- Selección de todos los campos de un fichero cuando un campo sea
igual a un valor:

select * from maite/cursql
where anagrama = 'DAVINCI'

- Selección de todos los campos de un fichero cuando un campo NO
sea igual a un valor:

select * from maite/cursql
where anagrama ª= 'DAVINCI'

- Selección de todos los campos de un fichero cuando un campo sea
mayor a un valor:

select * from maite/cursql
where anagrama > 'DAVINCI'

- Selección de todos los campos de un fichero cuando un campo NO
sea mayor a un valor:

select * from maite/cursql
where anagrama ª> 'DAVINCI'

- Selección de todos los campos de un fichero cuando un campo sea
menor a un valor:

select * from maite/cursql
where anagrama < 'DAVINCI'

- Selección de todos los campos de un fichero cuando un campo NO
sea menor a un valor:

select * from maite/cursql
where anagrama ª< 'DAVINCI'

- Selección de todos los campos de un fichero cuando un campo sea
mayor o igual a un valor:

select * from maite/cursql
where anagrama >= 'DAVINCI'

- Selección de todos los campos de un fichero cuando un campo sea
menor o igual a un valor:

select * from maite/cursql
where anagrama <= 'DAVINCI'

- Selección de todos los campos de un fichero cuando un campo se
encuentre entre dos valores (el campo ha de ser numérico):

select * from maite/cursql
where imp between 25000 and 250000

- Selección de todos los campos de un fichero cuando un campo NO se
encuentre entre dos valores (el campo ha de ser numérico):

select * from maite/cursql
where imp not between 25000 and 250000

- Selección de todos los campos de un fichero cuando en cualquier
posición del campo, contenga la serie de caracteres indicados (el
campo ha de ser alfabético):

select * from maite/cursql
where anagrama like '%DAVINCI%'

- Selección de todos los campos de un fichero cuando el valor del
campo comience por la serie de caracteres indicados (el campo ha
de ser alfabético):

select * from maite/cursql
where anagrama like 'DAVINCI%'

- Selección de todos los campos de un fichero cuando el valor del
campo comienza por cualquier carácter, contin£e con la serie de
caracteres indicados y siga con cualquier valor (el campo ha de
ser alfabético):

select * from maite/cursql
where anagrama like '_DAVINCI%'

- Selección de todos los campos de un fichero cuando el campo NO
contenga la serie de caracteres indicados (el campo ha de ser alfa-
bético):

select * from maite/cursql
where anagrama not like '%DAVINCI%'

_ Selección de todos los campos de un fichero cuando la fila exista
en la subselección indicada.Si se cumple la condición seleccionará
columnas, sino NO se seleccionará nada:

select * from maite/cursql
where exists (select * from comu/cemff105 where cmunic = '08019')

_ Selección de todos los campos de un fichero cuando la fila NO exista
en la subselección indicada.Si se cumple la condición seleccionará
columnas, sino NO se seleccionará nada:

select * from maite/cursql
where not exists
(select * from comu/cemff105 where cmunic = '08019')

_ Selección de todos los campos de un fichero cuando el valor de un
campo se encuentre en la subselección indicada:

select * from maite/cursql
where nif in (select nif from comu/cemff105 where cmunic = '08019')

_ Selección de todos los campos de un fichero cuando el valor de un
campo NO se encuentre en la subselección indicada:

select * from maite/cursql
where nif not in
(select nif from comu/cemff105)

- Selección de todos los campos de un fichero cuando el valor de un
campo cumple la primera condición Y la segunda:

select * from maite/cursql
where imp = 25000 and saldo > 0

- Selección de todos los campos de un fichero cuando el valor de un
campo cumple la primera condición O la segunda:

select * from maite/cursql
where imp = 25000 or imp = 750000

- Selección de todos los campos de un fichero ordenados por un campo:

select * from maite/cursql
order by nommep

- Selección de todos los campos de un fichero agrupados por un campo:

select imp from maite/cursql
group by imp

- Selección de un campo y contador de un fichero agrupados por un
campo:

select imp,count(*) from maite/cursql
group by imp

_ Selección de un campo de un fichero agrupado por el mismo campo
cuando dentro de cada columna de agrupación se cumpla unas condi-
ciones:

select imp from maite/cursql
group by imp
having count(*) > 100 and imp > 250000

- Selección de un campo y del máximo valor de otro (referente al
primero indicado) agrupados por el primer campo cuando el máximo
valor sea menor a la condición de la subselección:

select nif,max(imp) from maite/cursql
group by nif
having max(imp) < (select avg(imp) from maite/cursql)

- Selección de un campo de un fichero en unión con otro campo de
otro fichero:

select nif from maite/cursql
where imp > 75000
union
select nif from maite/cemff105xx
where cmunic = '08019'

- Selección de campos de varios ficheros cuando cumplan una condi-
ción:

select cursql.nif, cemff105xx.nomemp
from maite/cursql, maite/cemff105xx
where cursql.nif = cemff105xx.nif and
cursql.imp > 750000







Clausula UPDATE

____ UPDATE FROM bibioteca/fichero _____ SET campo = expresión,
fichero campo = expresión.. .

____ WHERE condición busqueda


Permite actualizar los valores de las columnas seleccionadas.

Esta instrucción actualizará los campos seleccionados ,del fichero
indicado, por los valores contenidos en la expresión del SET; cuando
se cumpla la condición de b£squeda.

EJEMPLOS:

- Modificación de un campo por un valor cuando se cumpla una condición:

update maite/cursql set anagrama = 'FORUM'
where nif = 'A08016263'

- Modificación de varios campos de un fichero:

update maite/cursql set anagrama = ' ',
dp = '08000'
where nif = 'A08016263'

- Modificación de un campo de un fichero por el valor de parte de otro
campo:

update maite/cursql set anagrama = substr(nomemp, 1, 10)
where nif = 'A08016263'







Clausula INSERT

____ INSERT INTO bibioteca/fichero (campo) _____ VALUES constante
fichero | registro .
|
|__ subselección


Permite insertar filas de un fichero en otro.

Esta instrucción inserta registros con un valor o bien desde un fi-
chero a otro.

EJEMPLOS:

- Inserta un registro con un valor fijo(constante):

insert into maite/cursql (nif, nomemp, anagrama, carrer, ncarre, dp,
cmunic, nommun, imp, saldo, cant)
values ('A1111111', 'MAITE', 'MAITE', 'P§ GRACIA', '94',
'08000','08019', 'BARCELONA', 1000, 10000, 10)

- Inserta un registro con el valor de otro fichero (subselección):

insert into maite/cursql2
(select * from cursql
where anagrama = 'MAITE')







Clausula DELETE

____ DELETE FROM bibioteca/fichero (campo) ________________________
fichero .

____ WHERE condición busqueda


Permite suprimir lineas de un fichero.

Esta instrucción elimina registros de un fichero si cumple la condi-
ción de b£squeda.

EJEMPLOS:

- Elimina los registros que cumplan la igualdad indicada en la con-
dición de b£squeda:

delete from maite/cursql2
where anagrama = 'MAITE'

- Elimina los registros cuyo campo indicado se encuentre en la sub-
selección del segundo fichero:

delete from maite/cursql
where nif in (select nif from cursql2
where anagrama = 'MAITE')







Esta página ha sido accedida veces.

[Mail] maite@davinci-systems.es