Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

MySQL, Operación de diferencia

Se explica, en que consiste las consultas en MySQL implementando la operación de diferencia de la teoría de conjuntos
by

Juan Sebastian Trujillo

on 14 November 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of MySQL, Operación de diferencia

Una mirada a la teoría de conjuntos La teoría de conjuntos es una rama de las matemáticas que estudia las propiedades de los conjuntos: colecciones abstractas de objetos, consideradas como objetos en sí mismas. Los conjuntos y sus operaciones más elementales son una herramienta básica en la formulación de cualquier teoría matemática. (http://es.wikipedia.org/wiki/Teor%C3%ADa_de_conjuntos) La diferencia llevada a las bases de datos La diferencia en teoría de conjuntos Al igual que en la teoría de conjuntos la diferencia entre dos tablas de una base de datos da como resultado las tuplas que estén en una tabla pero no en la otra. Por ejemplo, si queremos conocer que estudiantes pertenecen a un equipo deportivo de la universidad, o los empleados que no pertenezcan al grupo financiero de la empresa, o los estudiantes de la noche solamente. Para poder hacer una consulta válida con esta operación es necesario que las relaciones tengan el mismo grado y que cada campo sea del mismo tipo de datos. SELECT * FROM tabla1 MINUS SELECT * FROM tabla2 Pero MINUS ya no está incluido en MySQL 5.x Otras opciones:
SELECT * FROM tabla1 LEFT JOIN tabla2 ON tabla2.atributo = tabla1.atributo;
SELECT * FROM tabla1 WHERE atributo NOT IN (SELECT atributo FROM tabla2); PERO... La consulta Mysql LEFT JOIN devuelve todas las filas de la tabla citada en la cláusula “FROM” y sus filas vinculadas en la tabla citada dentro de la cláusula “LEFT JOIN” UN EJEMPLO.... DROP DATABASE diferencia;
CREATE DATABASE diferencia;

USE diferencia

CREATE TABLE empleado(
codigo INT NOT NULL AUTO_INCREMENT,
nombre VARCHAR(100),
apellido VARCHAR(100),
cedula INT,

UNIQUE(cedula),
PRIMARY KEY (codigo)
);

INSERT INTO empleado (nombre,apellido,cedula) VALUES ('Juan Sebastian','Trujillo',1002590499);
INSERT INTO empleado (nombre,apellido,cedula) VALUES ('Juan Camilo','Hernandez',1053590498);
INSERT INTO empleado (nombre,apellido,cedula) VALUES ('Pablo','Zapata',1052590497);
INSERT INTO empleado (nombre,apellido,cedula) VALUES ('Fabio','Peña',1052590496);
INSERT INTO empleado (nombre,apellido,cedula) VALUES ('Manuel','Tamayo',1052590495);

CREATE TABLE practicante(
codigo INT NOT NULL AUTO_INCREMENT,
nombre VARCHAR(100),
apellido VARCHAR(100),
cedula INT,

UNIQUE(cedula),
PRIMARY KEY (codigo)
);

INSERT INTO practicante (nombre,apellido,cedula) VALUES ('Juan Sebastian','Trujillo',1002590499);
INSERT INTO practicante (nombre,apellido,cedula) VALUES ('Juan Camilo','Hernandez',1053590498);

SELECT * FROM empleado;
SELECT * FROM practicante;
SELECT * FROM empleado LEFT JOIN practicante ON practicante.cedula = empleado.cedula;
SELECT * FROM empleado WHERE codigo IN (SELECT codigo FROM practicante); SCRIPT DIFERENCIA Juan Sebastián Trujillo Valencia
Pablo Alejandro Zapata Mahecha
Full transcript