persons
-------------------------------------
person_id | name | email
-------------------------------------
1 | Frank | [email protected]
2 | Ger | [email protected]
3 | Rene | [email protected]
-------------------------------------
cars
-------------------------------------
car_id | brand | model
-------------------------------------
1 | Mercedes | sprinter
2 | Peugeot | 206
3 | Volvo | 740
-------------------------------------
persons_cars
-----------------------
person_id | car_id
-----------------------
2 | 1
1 | 2
3 | 2
-----------------------
Verkrijg alle JOINS (verbindingen tussen peronen en auto's)
SELECT p.person_id, p.name, p.email, c.car_id, c.brand, c.model
FROM persons_cars pc
JOIN persons p ON p.person_id=pc.person_id
JOIN cars c ON c.car_id=pc.car_id
resultaat:
"1","Frank","[email protected]","2","Peugeot","206"
"2","Ger","[email protected]","1","Mercedes","Sprinter"
"3","Rene","[email protected]","2","Peugeot","206"
Verkrijg de Auto's die aan een persoon gekoppeld zijn
SELECT c.car_id, c.brand, c.model, p.person_id, p.name, p.email
FROM cars c
JOIN persons_cars pc ON c.car_id=pc.car_id
JOIN persons p ON p.person_id=pc.person_id
ORDER BY c.car_id
resultaat:
"1","Mercedes","Sprinter","2","Ger","[email protected]"
"2","Peugeot","206","3","Rene","[email protected]"
"2","Peugeot","206","1","Frank","[email protected]"
Verkrijg ALLE Auto's
SELECT c.car_id, c.brand, c.model, p.person_id, p.name, p.email
FROM cars c
LEFT JOIN persons_cars pc ON c.car_id=pc.car_id
LEFT JOIN persons p ON p.person_id=pc.person_id
ORDER BY c.car_id
resultaat:
"1","Mercedes","Sprinter","2","Ger","[email protected]"
"2","Peugeot","206","1","Frank","[email protected]"
"2","Peugeot","206","3","Rene","[email protected]"
"3","Volvo","740",NULL,NULL,NULL
[size=xsmall]
Toevoeging op 20/12/2014 13:01:19:[/size]
-- phpMyAdmin SQL Dump
-- version 4.2.13
-- http://www.phpmyadmin.net
--
-- Machine: localhost
-- Gegenereerd op: 20 dec 2014 om 12:59
-- Serverversie: 5.5.40-MariaDB
-- PHP-versie: 5.4.16
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Databank: `vrienden`
--
-- --------------------------------------------------------
--
-- Tabelstructuur voor tabel `cars`
--
CREATE TABLE IF NOT EXISTS `cars` (
`car_id` int(11) NOT NULL,
`brand` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`model` varchar(100) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
--
-- Gegevens worden geëxporteerd voor tabel `cars`
--
INSERT INTO `cars` (`car_id`, `brand`, `model`) VALUES
(1, 'Mercedes', 'Sprinter'),
(2, 'Peugeot', '206'),
(3, 'Volvo', '740');
-- --------------------------------------------------------
--
-- Tabelstructuur voor tabel `persons`
--
CREATE TABLE IF NOT EXISTS `persons` (
`person_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
--
-- Gegevens worden geëxporteerd voor tabel `persons`
--
INSERT INTO `persons` (`person_id`, `name`, `email`) VALUES
(1, 'Frank', '[email protected]'),
(2, 'Ger', '[email protected]'),
(3, 'Rene', '[email protected]');
-- --------------------------------------------------------
--
-- Tabelstructuur voor tabel `persons_cars`
--
CREATE TABLE IF NOT EXISTS `persons_cars` (
`person_id` int(11) NOT NULL,
`car_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
--
-- Gegevens worden geëxporteerd voor tabel `persons_cars`
--
INSERT INTO `persons_cars` (`person_id`, `car_id`) VALUES
(2, 1),
(1, 2),
(3, 2);
--
-- Indexen voor geëxporteerde tabellen
--
--
-- Indexen voor tabel `cars`
--
ALTER TABLE `cars`
ADD PRIMARY KEY (`car_id`);
--
-- Indexen voor tabel `persons`
--
ALTER TABLE `persons`
ADD PRIMARY KEY (`person_id`);
--
-- Indexen voor tabel `persons_cars`
--
ALTER TABLE `persons_cars`
ADD KEY `car_id` (`car_id`,`person_id`), ADD KEY `person_id` (`person_id`);
--
-- AUTO_INCREMENT voor geëxporteerde tabellen
--
--
-- AUTO_INCREMENT voor een tabel `cars`
--
ALTER TABLE `cars`
MODIFY `car_id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=4;
--
-- AUTO_INCREMENT voor een tabel `persons`
--
ALTER TABLE `persons`
MODIFY `person_id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=4;
--
-- Beperkingen voor geëxporteerde tabellen
--
--
-- Beperkingen voor tabel `persons_cars`
--
ALTER TABLE `persons_cars`
ADD CONSTRAINT `persons_cars_ibfk_2` FOREIGN KEY (`person_id`) REFERENCES `persons` (`person_id`),
ADD CONSTRAINT `persons_cars_ibfk_1` FOREIGN KEY (`car_id`) REFERENCES `cars` (`car_id`);
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;