› Foros › Multiplataforma › Desarrollo
CREATE TABLE ARMAS
( Nombre_armas varchar2(25) not null,
Daño numeric(2) not null,
Tasa numeric(2) not null,
Municion numeric(3) not null,
CONSTRAINT PKARMAS PRIMARY KEY (Nombre_armas));
CREATE TABLE TIENE
( Pseudonimo varchar2(35) not null,
Nombre_armas varchar2(25) not null,
CONSTRAINT PKTIENE PRIMARY KEY (Pseudonimo,Nombre_armas),
CONSTRAINT FK1TIENE FOREIGN KEY (Pseudonimo) REFERENCES MALOS (Pseudonimo) ON DELETE CASCADE,
CONSTRAINT FK2TIENE FOREIGN KEY (Nombre_armas) REFERENCES ARMAS (Nombre_armas) ON DELETE CASCADE);
CREATE TABLE MALOS
( Nombre varchar2(30) not null,
Apellidos varchar2(35) not null,
Pseudonimo varchar2(35) not null,
Edad numeric(3) not null,
Sexo char(5) not null,
Altura numeric(3) not null,
Ancho numeric(4) not null,
Morfologia varchar2(12),
Color_pelo varchar2(10),
Cod_traje numeric(3),
CONSTRAINT PKMALOS PRIMARY KEY (Pseudonimo),
CONSTRAINT FKMALOS FOREIGN KEY (Cod_traje) REFERENCES TRAJES (Cod_traje) ON DELETE SET NULL,
CHECK ((Ancho>-101) AND (Ancho<101)));
SELECT m.nombre, m.apellidos, m.pseudonimo, m.altura, m.ancho, a.municion
FROM MALOS m, ARMAS a, TIENE t
WHERE a.municion = (SELECT MAX(municion) from ARMAS) AND
a.nombre_armas = t.nombre_armas AND
t.pseudonimo = m.pseudonimo
SELECT * FROM
(SELECT * FROM
(((SELECT nombre_arma,municion FROM ARMA) A
JOIN EQUIPO ON A.nombre_arma=EQUIPO.nombre_arma) B
JOIN (SELECT nombre,apellidos,pseudonimo,altura,ancho, FROM PERSONAJE) C ON B.seudonimo=C.seudonimo)
ORDER BY municion DESC)
WHERE ROWNUM=1;
klausus escribió:teoricamente el inner join es mas optimo que utilizar el tipico "dni.estudiante=dni.matriculados" no???
Esque eso me dijo la profesora pero leyendo por la red la jente afirma que la optimizacion es similar en mysql que ninguno va mas rapido o consume menos que otro y no me lo termino de creer
Lo mas facil sin duda es el X.a = X.b pero teoricamente lo menos optimo y lo que deberia usarse son los join (Ojo para tablas con muchos campos, si es una tabla con 4 campos mataos no vas a notar diferencia alguna)...
Por cierto que estas estudiando exactament =D ??
Lo digo porque yo tb estoy dando BDO jejeje pero yo toy en 2año de grado medio...