SQL Ejemplos Practicos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 11

EJEMPLOS PRACTICOS SQL ONLINE

SQL ONLINE
URL : https://rextester.com/l/sql_server_online_compiler

TABLA - LIBROS – CREAR UNA TABLA


Tabla almacena datos: título del libro, nombre del autor y nombre de la editorial.

if object_id('libros') is not null


drop table libros;

create table libros(


titulo varchar(40),
autor varchar(40),
editorial varchar(40)
);

exec sp_columns libros;

Insert into libros values('EL OLOR A LA GUAYABA', 'GABRIEL GARCIA MARQUEZ', 'OMEGA');
Insert into libros values('CRIMEN Y CASTILLO', 'FIÓDOR DOSTOYEVSKI','ALFA');
Insert into libros values('JUAN SALVADOR GAVIOTA', 'RICHARD BACH', 'ZETA');

Select * from libros;

TABLA - ESTUDIANTE
 Elimine "nombre tabla", si existe:
if object_id('estudiantes') is not null
drop table estudiantes;
 Crear la tabla, con la siguiente estructura:
create table estudiantes(
matricula varchar(13),
nombre varchar(40),
materia varchar(40),
nota tinyint,
constraint CK_estudi_nota check (nota>=0 and nota<=100)
);
Constraint CK…… se usa para limitar el rango de valores que se puede colocar en una columna
exec sp_columns estudiantes; Permite ver la estructura de su tabla

Ingresar algunos registros:


insert into estudiantes values('19-EIST-1-023','ABEL GUZMAN', 'BASE DE DATOS',86);
insert into estudiantes values('13-SISN-1-146','JEAN CARLOS CASTILLO', 'BASE DE DATOS',88);
insert into estudiantes values('19-EISM-1-003','WILLIE HERNANDEZ', 'BASE DE DATOS',90);
insert into estudiantes values('18-SISM-1-064','LILIANA PAREDES', 'BASE DE DATOS',80);
insert into estudiantes values('19-EIST-1-101','JUANA LOPEZ', 'BASE DE DATOS',65);

Mostrar el nombre y nota de cada alumno y en una columna extra llamada "condición”. Empleado
Empleando el "case" con operadores de comparación:

select matricula, nombre, materia, nota, condicion= case


when nota<70 then 'REPROBADO'
when nota >=70 and nota<=100 then 'APROBADO'
else 'NO TIENE NOTA'
end
from estudiantes;

Agregar el campo "condición" a la tabla:


select matricula, nombre, materia, nota, condicion=
case
when nota<70 then 'REPROBADO'
when nota >=70 and nota<=100 then 'APROBADO'
else 'NO TIENE NOTA'
end
from estudiantes;

Agregar el campo "condición" a la tabla:


alter table estudiantes
add condicion varchar(20);

Ver la tabla y order por la columna o campo matricula:


select * from estudiantes
order by MATRICULA;

TABLA - ESTUDIANTE – SENTENCIAS SQL /WHEN - CONDICION


if object_id('estudiantes') is not null
drop table estudiantes;
create table estudiantes(
matricula varchar(13),
nombre varchar(40),
materia varchar(40),
nota tinyint,
constraint CK_estudi_nota check (nota>=0 and nota<=100)
);
exec sp_columns estudiantes;
insert into estudiantes values('19-EIST-1-023','ABEL GUZMAN', 'BASE DE DATOS',86);
insert into estudiantes values('13-SISN-1-146','JEAN CARLOS CASTILLO', 'BASE DE DATOS',88);
insert into estudiantes values('19-EISM-1-003','WILLIE HERNANDEZ', 'BASE DE DATOS',90);
insert into estudiantes values('18-SISM-1-064','LILIANA PAREDES', 'BASE DE DATOS',80);
insert into estudiantes values('19-EIST-1-101','JUANA LOPEZ', 'BASE DE DATOS',65);

select matricula, nombre, materia, nota, condicion=


case
when nota<70 then 'REPROBADO'
when nota >=70 and nota<=100 then 'APROBADO'
else 'NO TIENE NOTA'
end
from estudiantes;

alter table estudiantes


add condicion varchar(20);

select *
from estudiantes
order by MATRICULA;

TABLA - ESTUDIANTE –EJECUCION SQL

TABLA - UBICACIÓN – SENTENCIAS SQL –WHERE /AND/OR


URL : https://rextester.com/l/sql_server_online_compiler

CREATE TABLE ubicacion


(
P_id int PRIMARY KEY IDENTITY,
Nombre Varchar(20) NOT NULL,
Apellidos Varchar(30) NOT NULL,
Direccion Varchar(40) NOT NULL,
Provincia Varchar(10) NOT NULL
);

INSERT INTO ubicacion VALUES ('Marco Antonio','Baez','C/Girasol No. 13','Santiago');


INSERT INTO Ubicacion VALUES ('Martha Beatriz','Baez','C/Girasol No. 13','Santiago');
INSERT INTO Ubicacion VALUES ('Juana Elvira','Baez','C/Girasol No. 13','Santiago');
INSERT INTO Ubicacion VALUES ('Nora Rodriguez','Baez','C/Girasol No. 13','Santiago');
INSERT INTO Ubicacion VALUES ('Laura Lucero','Alvarez','C/Orquidea No. 27','Constanza');
INSERT INTO Ubicacion VALUES ('Maria de la luz','Reyes','C/Rosal No. 14','Jarabacoa');
INSERT INTO Ubicacion VALUES ('Luisa Maria','Mendez','C/Peral No. 12','Bani');
INSERT INTO Ubicacion VALUES ('Marcela Maria','Abad','C/Tulipan No. 22','Moca');
INSERT INTO Ubicacion VALUES ('Jose Abraham','Abad','C/Margarita No. 55','Moca');
INSERT INTO Ubicacion VALUES ('Samuel Salomon','Abad','C/Lirio No. 60','Moca');

SELECT * FROM Ubicacion

SELECT DISTINCT Apellidos


FROM Ubicacion;

SELECT *
FROM Ubicacion
WHERE Apellidos ='Abad'

SELECT * FROM Ubicacion


WHERE Nombre='Laura Lucero'
AND Apellidos='Alvarez'

SELECT * FROM Ubicacion


WHERE Nombre='Martha Beatriz'
OR Nombre='Juana Elvira'

SELECT * FROM Ubicacion WHERE


Apellidos='Alvarez'
AND (Nombre='Marcela Maria' OR Nombre='Jose Abraham')

SELECT * FROM Ubicacion


ORDER BY Nombre
TABLA - UBICACIÓN –EJECUCION SQL

TABLA - EMPLEADO – SENTENCIAS SQL – CAMPO CALCULO


if object_id('empleados') is not null
drop table empleados;

create table empleados(


cedula varchar(12),
nombre varchar(40),
direccion varchar(30),
sueldobasico decimal(6,2),
horaex tinyint not null default 0,
sueldototal as sueldobasico + (horaex*100)
);

insert into empleados values('001-100432-1','Leando Carvajal','c/Orquídea #123',200,2);


insert into empleados values('111-211543-2','C/Rosa Francia','Laurel #10',300,0);
select * from empleados;
update empleados set horaex=1 where cedula='111-211543-2';
select * from empleados;

alter table empleados


add salariofamiliar as horaex*100;
exec sp_columns empleados;

select * from empleados;

DROP TABLE IF EXISTS Departamento CASCADE;


CREATE TABLE Departamento ( codDepto varchar (4) PRIMARY KEY,
nombreDpto varchar (20) NOT NULL,
ciudad varchar (15),
codDirector varchar (12) );
DROP TABLE IF EXISTS Empleado;

CREATE TABLE empleado (


nDIEmp VARCHAR( 12 ) NOT NULL PRIMARY KEY,
nomEmp VARCHAR( 30 ) NOT NULL ,
sexEmp CHAR( 1 ) NOT NULL CHECK (sexEmp IN ('F', 'M') ),
fecNac DATE NOT NULL ,
fecIncorporacion DATE NOT NULL,
salEmp FLOAT NOT NULL,
comis FLOAT NOT NULL,
cargo VARCHAR( 15 ) NOT NULL,
jefeDI VARCHAR( 12 ),
nroDepto VARCHAR( 4 ) NOT NULL,

CONSTRAINT TBemplado FOREIGN KEY (jefeID) REFERENCES Empleado,


CONSTRAINT TBdepartamnto FOREIGN KEY (codDepto) REFERENCES Departamento
);
ALTER TABLE Departamento
ADD CONSTRAINT FK_EmpDir
FOREIGN KEY (codDirector) REFERENCES empleado;

INSERT INTO departamento (codDepto, nombreDpto, ciudad, coddirector) VALUES

('1000', 'GERENCIA', 'CALI', '31.840.269'),


('1500', 'PRODUCCIÓN', 'CALI', '16.211.383'),
('2000', 'VENTAS', 'CALI', '31.178.144'),
('3000', 'INVESTIGACIÓN', 'CALI', '16.759.060'),
('3500', 'MERCADEO', 'CALI', '22.222.222'),
('2100', 'VENTAS', 'POPAYAN', '31.751.219'),
('2200', 'VENTAS', 'BUGA', '768.782'),
('2300', 'VENTAS', 'CARTAGO', '737.689'),
('4000', 'MANTENIMIENTO', 'CALI', '333.333.333'),
('4100', 'MANTENIMIENTO', 'POPAYAN', '888.888'),
('4200', 'MANTENIMIENTO', 'BUGA', '11.111.111'),
('4300', 'MANTENIMIENTO', 'CARTAGO', '444.444');

INSERT INTO empleado (nDIEmp, nomEmp, sexEmp, fecNac, fecIncorporacion, salEmp, comisionE, cargoE,
jefeID, nroDepto)
VALUES
('31.840.269', 'María Rojas', 'F', '1959-01-15', '16-05-1990', 6250000, 1500000, 'Gerente', 'k', '1000'),
('16.211.383', 'Luis Pérez', 'M', '1956-02-25', '2000-01-01', 5050000, 0, 'Director', '31.840.269', '1500'),
('31.178.144', 'Rosa Angulo', 'F', '1957-03-15', '1998-08-16', 3250000, 3500000, 'Jefe Ventas', '31.840.269',
'2000'),
('16.759.060', 'Darío Casas', 'M', '1960-04-05', '1992-11-01', 4500000, 500000, 'Investigador', '31.840.269',
'3000'),
('22.222.222', 'Carla López', 'F', '1975-05-11', '2005-07-16', 4500000, 500000, 'Jefe Mercadeo', '31.840.269',
'3500'),
('22.222.333', 'Carlos Rozo', 'M', '1975-05-11', '2001-09-16', 750000, 500000, 'Vigilante', '31.840.269', '3500') ,
('1.751.219', 'Melissa Roa', 'F', '1960-06-19', '2001-03-16', 2250000, 2500000, 'Vendedor', '31.178.144', '2100'),
('768.782', 'Joaquín Rosas', 'M', '1947-07-07', '1990-05-16', 2250000, 2500000, 'Vendedor', '31.178.144', '2200'),
('737.689', 'Mario Llano', 'M', '1945-08-30', '1990-05-16', 2250000, 2500000, 'Vendedor', '31.178.144', '2100');

-- Database: "TareaNA"

SELECT *
FROM Empleado;

-- Database: "TareaNA"

SELECT *
FROM Departamento;

-- Database: "TareaNA"

SELECT nomEmp, salEmp


FROM Empleado;

-- Database: "TareaNA"
SELECT * FROM Empleado WHERE cargoE = 'Vendedor' ORDER BY nomEmp;

-- Database: "TareaNA"

SELECT nombreDpto
FROM Departamento;

-- Database: "TareaNA"

SELECT DISTINCT nombreDpto


FROM Departamento;

-- Database: "TareaNA"

SELECT DISTINCT nombreDpto


FROM Departamento ORDER BY nombreDpto;

-- Database: "TareaNA"

SELECT nombreDpto, ciudad FROM Departamento ORDER BY ciudad;

-- Database: "TareaNA"

SELECT nombreDpto, ciudad FROM Departamento ORDER BY ciudad desc;

-- Database: "TareaNA"

SELECT nombreDpto, ciudad FROM Departamento ORDER BY ciudad desc;

-- Database: "TareaNA"
SELECT nomEmp, cargoE FROM Empleado ORDER BY salEmp;

-- Database: "TareaNA"
SELECT nomEmp, cargoE, salEmp FROM Empleado ORDER BY cargoE, salEmp;

-- Database: "TareaNA"
SELECT nomEmp, cargoE FROM Empleado ORDER BY cargoE DESC;

-- Database: "TareaNA"
SELECT nomEmp, salEmp, comisionE FROM Empleado WHERE codDepto = '2000';

-- Database: "TareaNA"
SELECT nomEmp, salEmp, comisionE FROM Empleado WHERE codDepto = '2000' ORDER BY comisionE;

-- Database: "TareaNA"
SELECT comisionE FROM Empleado;

-- Database: "TareaNA"
SELECT DISTINCT comisionE FROM Empleado ORDER BY comisionE;

-- Database: "TareaNA"
SELECT DISTINCT salEmp FROM Empleado ORDER BY salEmp;
-- Database: "TareaNA"
SELECT nomEmp, salEmp, 'Pago Total = $', salEmp+500000 FROM Empleado WHERE codDepto = '3000';

-- Database: "TareaNA"
SELECT nDIEmp, nomEmp, salEmp, comisionE FROM Empleado WHERE comisionE > salEmp;

-- Database: "TareaNA"
SELECT nDIEmp, nomEmp, salEmp, comisionE FROM Empleado WHERE comisionE <= salEmp*0.30;

-- Database: "TareaNA"
SELECT 'Nombre: ', nomEmp, 'Cargo: ', cargoE FROM Empleado;

El bueno

if object_id('Empleado ') is not null


drop table libros;

create table Empleado(


nDIEmp varchar(40),
nomEmp varchar(40),
sexEmp varchar(40),
fecNac varchar(40),
fecIncorporacion varchar(40),
salEmp varchar(40),
comis varchar(40),
jefeID varchar(40),
cargo varchar(40),
nroDepto varchar(40),
);

Insert into Empleado values('14.365.356', 'MARCELO ANTONIO', 'H', '19/5/1995', '14/6/2018', '22,000',
'6,000', '18.251.25', 'GERENTE', '1000');
Insert into Empleado values('64.165.323', 'NOELIA MARQUEZ','F', '07/9/1985', '09/5/2014', '19,500', '2,000',
'14.359.15', 'SEGURIDAD', '1524');
Insert into Empleado values('13.236.789', 'RUBERTO DIAZ', 'H', '17/3/1951', '16/7/1998', '18,800', '5,490',
'18.254.85', 'SERVICIOS', '6500');
Insert into Empleado values('24.836.199', 'MARIDANNY DIAZ', 'F', '15/3/2001', '19/4/2022', '25,700', '1,400',
'18.476.45', 'SERVICIOS', '8500');
Insert into Empleado values('11.756.539', 'JUNIOR GUZMAN', 'H', '16/3/1951', '12/9/2018', '16,400', '6,450',
'18.892.19', 'SERVICIOS', '2500');

select * from Empleado

if object_id('Departamento ') is not null


drop table libros;

create table Departamento(


codDepto varchar(40),
nombreDpto varchar(40),
ciudad varchar(40),
director varchar(40),
);

Insert into Departamento values('0356', 'YUDITH IV', 'SANTIAGO', '19/5/1995', '14/6/2018', '22,000', '6,000',
'18.251.25', 'GERENTE', '1000');

También podría gustarte