Beruflich Dokumente
Kultur Dokumente
SQL
DEMO
SQL
CREATE DATABASE PREVENTA ON PRIMARY (NAME=PERUDATA1, FILENAME="C:\TALLERESVB\PREVENTA1.MDF", SIZE=10MB, MAXSIZE=50MB) LOG ON (NAME=PERULOG1, FILENAME="C:\TALLERESVB\PREVENTALOG1.LDF", SIZE=5MB, MAXSIZE=15MB)
SQL
Creacin de Tablas
CREATE TABLE VENDEDOR ( codVen varchar(5) NOT NULL, nomCompVen varchar(40) NULL, direVen varchar(50) NULL, telefonoVen varchar(12) NULL, fechaNaVen smalldatetime NULL, tasaComi numeric(8,2) NOT NULL, estadoVen int NULL )
CREATE TABLE FACTURA ( numeroFac codVen varchar(5) NULL, codCli estadoFac int NULL , fechaFac numeric(8,2) NULL )
SQL
ALTER TABLE FACTURA ADD PRIMARY KEY (numeroFac) ALTER TABLE VENDEDOR ADD PRIMARY KEY (codVen)
SQL
exec sp_databases Muestra las base de datos que tenga el servidor activo.
SQL
DEMO
SQL
CREATE DATABASE EJEMPLO Use EJEMPLO Go create table trabajador (cod_tra varchar(5), ap_tra varchar(15), am_tra varchar(15), nom_tra varchar(15), fecha_na smallDateTime, CREATE TABLE parte1 ( id_num int IDENTITY(1,1), nombre varchar (20),
SQL
SQL
PRINT getDate()
Parte
Year Month Day of year
Abrev
yy mm dy
Valor
1753-9999 1-12 1-366
dd wk dw hh mi ss ms
SQL
SQL
Funciones
CONVERT(datetime, expression) Convierte a tipo datetime CONVERT(varchar, expression) Convierte a tipo Varchar
CONVERT(char, expresin)
E.4 Mostrar los datos de los empleados que nacieron en 5 de Octubre de 1975
SELECT * from trabajador where fecha_na=convert(datetime,'5/10/1975')
SQL
DATEDIFF
DATEDIFF(parte,fecha1,fecha2) Devuelve la diferencia segn el parmetro parte entre dos fechas.
DATEDIFF(parte,fecha1,fecha2)
E.6 Mostrar nombre y edad de cada uno de los trabajadores.
select nom_tra,edad=round(DATEDIFF(dd,fecha_na,getdate())/365.25,0) from trabajador
SQL
DATEADD
DATEADD(parte,n,fecha)
Agrega una cantidad n a la parte de una fecha.
SQL
Otras funciones
Lower(ExpresinCaracter) Upper(ExprecinCaracter) Ltrim(ExpresinCaracter) Convierte a minsculas Convierte a maysculas Elimina los espacios en blanco por la izquierda
Rtrim(ExpresinCaracter)
Repite n veces la expresinCaracter Retorna n espacios en blanco Convierte la ExpN expresin numerica a carcter
CHARINDEX()
SUBSTRING()
SQL
SQL
Peticin SQL
Base de datos
Informacin
SQL
insert into traba values ('00001','DE LA MADRID','GUTIERREZ','MARICIELO',convert(smalldateTime,'01/11/1980'),980,'F',' CONTABILIDAD') insert into traba values ('00002','HURTADO','CORONEL','NILDA',convert(smalldateTime,'10/10/1976'),980 ,'F','CONTABILIDAD') insert into traba values
SQL
SELECT select_list [ INTO new_table ] FROM table_source [ WHERE search_condition ] [ GROUP BY group_by_expression ] [ HAVING search_condition ] [ ORDER BY order_expression [ ASC | DESC ] ]
SQL
Comando Select
E.8 Mostrar a todos los Registros de la tabla Traba
select * from traba
E.9 Enviar a la tabla varios todos los registros de la tabla Traba select * into varios from traba
Definir campos calculados E.11 Mostrar el apellido Paterno, nombre y pago AFP que representa el 13% del sueldo
select ap_tra,nom_tra,afp=sueldo*0.13 from traba
SQL
Comando Select
Clusula Where E.12 Mostrar los registros con todos sus campos, que sean del rea de Sistemas.
select * from traba where area_tra='SISTEMAS'
E.13 Presentar apellidos y nombres de los que ganen mas de 1000 soles
select ap_tra,am_tra,nom_tra from traba where sueldo>1000
Clusula Between
E.14 Mostrar los apellido paterno, nombre y sueldo de los trabajadores que ganen entre 900 y 1000 soles
select ap_tra,nom_tra,sueldo from traba where sueldo between 900 and 1000
SQL
Comando Select
E.15 Presentar apellido paterno, nombre y rea para los trabajadores de Contabilidad y sistemas
select ap_tra,nom_tra,area_tra from traba where area_tra IN('CONTABILIDAD','SISTEMAS')
SQL
Comando Select
% _ [] [^]
Sustituye a un grupo de caracteres Sustituye un carcter simple Algn carcter de los especificado en un campo Algn carcter menos el especificado en el rango
Ejemplos where nombre Like L% La primera letra ser la letra L where nombre like [LU]A% la primera letra del nombre puede ser L o U y la segunda ser A where nombre like [^L]A% la primera letra del nombre no deber ser L, la segunda ser A
SQL
Comando Select
E.16 Mostrar nombre y fecha de nacimiento de los empleados que cuyo nombre empiece con la letra M
select nom_tra,fecha_na from traba where nom_tra like 'M%'
E.17 Mostrar apellidos y nombres de los empleados que la primera letra de su apellido paterno sea H oU oP
select AP_TRA,NOM_TRA from traba where AP_TRA like '[HUP]%'
SQL
Comando Select
E.18 Mostrar los datos de los empleados que su apellidos paterno no empieza con H o U o P
select * from traba where AP_TRA like '[^HUP]%'
E.19 Mostrar a los empleados que en la segunda letra del apellido paterno se la letra A
select * from traba where ap_tra like '_A%'
SQL
Comando Select
Clusula ORDER BY PERMITE ORDENAR POR
UN CAMPO, ASCENDENTE ASC o DESCENDENTE DESC
E.20 Mostrar los datos de los empleados ordenados por sueldo ascendentemente
select * from traba order by sueldo asc
E.21 Mostrar los datos de los empleados ordenados por sueldo descendentemente
select * from traba order by sueldo desc
SQL
SQL
E.24 Mostrar los nombres de las reas de los trabajadores usando Distinct
SELECT DISTINCT AREA_TRA FROM TRABA
SQL
SQL
Comando Select
E.25 Sumar los sueldos de los trabajadores
select totalSueldos=sum(sueldo) from traba
SQL
Comando Select
Clusulas GROUP BY, HAVING Group by agrupa registros bajo campos y Having grupos evalua condiciones de los
E.29 Hallar la suma de los sueldos para cada una de las reas de los trabajadores
Select area_tra,TotalSueldoArea=sum(sueldo) from traba group by area_tra
SQL
Comando Select
E.30 mostrar a las reas que cuyo acumulado de sueldos exceda los 3000 soles.
Select area_tra,TotalSueldoArea=sum(sueldo) from traba group by area_tra having sum(sueldo)>3000
SQL
SQL
Comando Update Permite actualizar datos a una determinada tabla bajo condiciones de evaluacin
UPDATE <nombre de tabla> SET <campo a actualizar>=<valor a dar>, <campo a actualizar>=<valor a dar> WHERE < condicin> E.31 crea una copia de la tabla traba y asignarle el nombre de CoTraba para los ejemplos de Update y Delete From
select * into coTraba from traba select * from coTraba
SQL
Comando Update
SQL
Este Comando Permite eliminar Registros de una de las tablas de la base de datos bajo criterios de evaluacin. Formato:
SQL
Comando Delete From Ejemplos E.34 Eliminar Los registros que cuya rea sea Logstica
delete from traba where area_tra='LOGISTICA'
Nota: Tener cuidado al ejecutar este comando, para ello deber tener una copia de la tabla.
SQL
INSERT INTO LIBRO VALUES('1000','VISUAL FOX','RUBEN IGLESIAS','RAMA','LPROG',60,489,1997) INSERT INTO LIBRO VALUES('1001','POWER BUILDER 6.','RAMIRO HOOL','UNI','LPROG',80,410,1999) INSERT INTO LIBRO VALUES('1002','ANALISIS Y DISEO DE SIST.','LUIS CUYA','PRINTICE HALL','ANALISIS',100,913,1997) INSERT INTO LIBRO VALUES('1003','POWER BUILDER 6.','WILLIAM B. HEYS','QUE','LPROG',150,843,1999) INSERT INTO LIBRO VALUES('1004','VISUAL BASIC','CESAR BUSTAMANTE','GRAPPERU','LPROG',35,390,1997) INSERT INTO LIBRO VALUES('1005','VISUAL FOX PRO','LES & JHON PINTER','MC GRAWHILL','LPROG',25,567,1997) INSERT INTO LIBRO VALUES('1006','GUIA C++','JULIO VASQUEZ
SQL
DEMO