miércoles, 12 de diciembre de 2012
domingo, 9 de diciembre de 2012
EJEMPLO DE JOINS MySQL
En esta practica aplicamos los 7 tipos de JOIN's permitidos por MySQL, a continuación se muestra el scritp.
drop database if exists jointipos;
create database jointipos;
use jointipos;
create table funciones(
id_funcion varchar(4) not null,
nom_funcion varchar(7)not null,
primary key(id_funcion)
)type=innodb;
insert into funciones values('A-01','Mecanico');
insert into funciones values('A-02','Carpintero');
insert into funciones values('A-03','Bombero');
create table deptos(
id_depto varchar(4) not null,
nom_deptp varchar(7)not null,
primary key(id_depto)
)type=innodb;
insert into deptos values('B-01','Taller 1');
insert into deptos values('B-02','Taller 1');
insert into deptos values('B-03','Estación');
create table localidad(
id_localidad varchar(4) not null,
nombre varchar(15)not null,
primary key(id_localidad)
)type=innodb;
insert into localidad values('C-01','Benito Juarez');
insert into localidad values('C-02','Lindavista');
insert into localidad values('C-03','Coapa');
create table empleado(
id_empleado varchar(7) not null,
nom_empleado varchar(10) not null,
id_funcion varchar(4) not null,
id_depto varchar(4) not null,
id_localidad varchar (4) not null,
primary key(id_empleado),
foreign key (id_funcion) references funciones(id_funcion) on update cascade,
foreign key (id_depto) references deptos(id_depto) on update cascade,
foreign key (id_localidad) references localidad(id_localidad) on update cascade
)type=innodb;
insert into empleado values('01','JUAN','A-02','B-02','C-01');
insert into empleado values('02','CARLOS','A-03','B-03','C-02');
insert into empleado values('03','ARTURO','A-01','B-01','C-03');
insert into empleado values('04','DIEGO','A-03','B-03','C-01');
insert into empleado values('05','LUIS','A-01','B-01','C-02');
Aplicando el "LEFT JOIN" :
select * from table1,table2 where table1.id=table2.id;
Aplicando el "INNER JOIN"
select from empleado.id_empleado,deptos.id_depto,empleado.nom_empleado from empleado inner join deptos on empleado.id_empleado=deptos.id_depto;

Aplicando el "RIGHT JOIN"
select empleado.id_empleado,deptos.id_depto,empleado.nom_empleado from empleado right join deptos on empleado.id_empleado=deptos.id_depto;
Aplicando un "OUTER JOIN"
select empleado.id_empleado,deptos.id_depto,empleado.nom_empleado from empleado right OUTER join deptos on empleado.id_empleado=deptos.id_depto;
APLICANDO EL EQUI JOIN
select * from empleado inner join deptos on empleado.id_depto=deptos.id_depto;
APLICANDO EL NATUAL JOIN
select * from empleado naturla join deptos;
APLICANDO EL CROSS JOIN
selec * from empleado cross join funciones:
lunes, 3 de diciembre de 2012
Suscribirse a:
Comentarios (Atom)












