DarkSQL by Darkleo.com
DarkSQL
Die JOIN Klausel:
Oracle | Access & Oracle alte Schreibweise |
select * from kunden k join rechnungen r on k.kunde_nr=r.kunde_nr where r.bezahlt=1; |
select
* from kunden k,rechnungen r where r.bezahlt=1 and k.kunde_nr=r.kunde_nr; |
Wenn man mit Access die JOIN Klausel schreiben:
1) Alle Tabellen kommen durch Komma getrennt in den FROM
Teil
2) Alles was nach ON kommt, kommt
AND verknüpft in die WHERE
Bedingung
--Bildschirmoptionen set linesize 500; set wrap off; drop table lieferanten cascade constraints; drop table kunden cascade constraints; drop table artikellager cascade constraints; drop table artikelbewegungen cascade constraints; drop table rechnungen cascade constraints; drop table auftraege cascade constraints; drop table auftragspositionen cascade constraints; drop table sachbearbeiter cascade constraints; drop table artikel cascade constraints; drop table kundenadresse cascade constraints; create table lieferanten(lieferantennummer varchar(10), name varchar(30), strasse varchar(20), hausnummer varchar(5), plz varchar(5), ort varchar(30),primary key(lieferantennummer)); create table artikel(artikel_nr varchar(27) not null, bezeichnung varchar(40), warengruppe int, mengeneinheit varchar(10), verkaufspreis numeric, einkaufspreis numeric, lieferzeit int, bestand_lager int, bestand_minimum int, jahresumsatz numeric, vorjahresumsatz numeric, primary key(artikel_nr)); create table artikellager(artikel_nr varchar(27) not null, lager_nr int not null constraint lnr check(lager_nr > 0 and lager_nr < 4), bestand_lager int not null, primary key(artikel_nr, lager_nr), foreign key(artikel_nr) references artikel(artikel_nr)); create table artikelbewegungen(artikel_nr varchar(27) not null, datum_uhrzeit timestamp not null, auftrag_nr int, position_nr int, kunde_nr int, menge int, verkaufspreis numeric, verkaufswert numeric, einstandspreis numeric, einstandswert numeric, primary key(artikel_nr, datum_uhrzeit)); create table kunden (kunde_nr int not null, name varchar(30) not null, strasse varchar(30), plz_strasse varchar(5), land varchar(3), ort varchar(30), kundengruppe int, branche varchar(30), vertreter_nr int, gesperrt_kz int constraint k1 check(gesperrt_kz between 0 and 1) not null, datum_kreditauskunft date, kreditlimit numeric, saldo_offene_rechnungen numeric, jahresumsatz numeric, vorjahresumsatz numeric, primary key(kunde_nr)); create table auftraege(auftrag_nr int not null, auftrag_datum date not null, kunde_nr int not null, vertreter_nr int, rabatt float, sachbearbeiter_nr int, porto numeric, primary key(auftrag_nr)); create table auftragspositionen(auftrag_nr int not null, position_nr int not null, position_aktiv smallint, artikel_nr varchar(27) not null, verkaufsmenge int, verkaufspreis numeric, termin date, offen int, geliefert int, berechnet int, primary key(auftrag_nr, position_nr)); create table rechnungen(rechnung_nr int not null, rechnung_datum date, kunde_nr int not null, auftrag_nr int, sachbearbeiter_nr int, warenwert numeric, mwst_prozentsatz float, rechnung_betrag numeric, datum_faellig date, datum_mahnung_1 date, datum_mahnung_2 date, zahlbetrag_gesamt numeric, zahldatum date, bezahlt smallint, primary key(rechnung_nr)); CREATE TABLE Sachbearbeiter(Sachbearbeiter_Nr int NOT NULL , Name varchar(30), primary key(Sachbearbeiter_NR)); --Folgende Tabelle wird nur im Skript benötigt create table kundenadresse (knr int not null, name varchar(30), strasse varchar(30), plz varchar(5), ort varchar(30), primary key(knr)); insert into lieferanten values('L-12191', 'Elektrogrosshandel Stroebel', 'Am Hafen','12', 44149, 'Dortmund'); insert into lieferanten values('L-14228', 'Computer-Diskount', 'Heinrich-Heine-Str.','277 a', 10287, 'Berlin'); insert into lieferanten values('L-00133', 'Sony Computer', 'Baumallee','7', 50780, 'Köln'); insert into artikel values('QV-4000','Casio-Digitalkamera', 4,'ST',745,298,4,33,33,17135,11175); insert into artikel values('FinePixA101','Fuji-Digitalkamera',4,'ST',195,78,14,15,15,5850,5265); insert into artikel values('C-2','Olympus-Digitalkamera',4,'ST',335,134,10,8,5,11055,16750); insert into artikel values('Coolpix775','Nikon-Digitalkamera',4,'ST',455,182,3,4,4,28645,2730); insert into artikel values('MVC-FD97','Sony-Digitalkamera',4,NULL,1145,458,21,1,1,1145,4580); insert into artikel values('FS4000US','Canon-Scanner',3,'ST',1010,707,1,1,1,1010,3030); insert into artikel values('Perfection2450photo','Epson-Scanner',3,'ST',445,311.50,5,6,3,4984,6675); insert into artikel values('ScanJet2200C','HP-Scanner',3,'ST',85,59.5,10,10,8,6120,18360); insert into artikel values('ScanExpress1200UB+','Mustek-Scanner',3,'ST',65,45.5,21,20,15,5850,17550); insert into artikel values('ScanWit2720s','Acer-Scanner',3,'ST',340,238,5,5,3,5100,17000); insert into artikel values('LBP-810','Canon-Laserdrucker',2,'ST',250,125,10,3,2,2500,9000); insert into artikel values('EPL-5900L','Epson-Laserdrucker',2,'ST',275,137.50,7,10,10,27500,41250); insert into artikel values('FS-1800+','Kyocera-Laserdrucker',2,'ST',975,487.50,30,30,34,1950,3900); insert into artikel values('Okipage8wlite','OKI-Laserdrucker',2,'ST',975,130,12,4,4,5720,3640); insert into artikel values('Laserjet1000W','HP-Laserdrucker',2,'ST',300,150,3,10,10,515000,18000); insert into artikel values('1100pplus','Samsung Monitor 21" ',1,'ST',775,465,28,2,10,1550,2325); insert into artikel values('109S20','Philips Monitor 19" ',1,'ST',325,195,5,4,2,10400,31200); insert into artikel values('106095','Belinea Monitor 19" ',1,'ST',290,174,21,3,4,3480,0); insert into artikel values('B1719','Daewoo Monitor 17" ',1,'ST',175,105,10,6,2,1400,4200); insert into artikel values('103026','Belinea Monitor 17" ',1,'ST',190,114,14,5,3,1710,5130); insert into artikellager values('QV-4000',1,2); insert into artikellager values('FinePixA101',1,0); insert into artikellager values('Coolpix775',1,4); insert into artikellager values('MVC-FD97',1,1); insert into artikellager values('FS4000US',1,1); insert into artikellager values('Perfection2450photo',1,6); insert into artikellager values('ScanExpress1200UB+',1,12); insert into artikellager values('ScanWit2720s',1,0); insert into artikellager values('EPL-5900L',1,10); insert into artikellager values('ScanExpress1200UB+',2,4); insert into artikellager values('ScanWit2720s',2,1); insert into artikellager values('QV-4000',3,1); insert into artikellager values('FinePixA101',3,2); insert into artikellager values('C-2',1,8); insert into artikellager values('ScanJet2200C',1,6); insert into artikellager values('LBP-810',1,3); insert into kunden values(10000,'Janssen - Buerotechnik GmbH','Wasserstr. 2','21033','D','Esens',10,'Büroausstattung',2,1,'30-11-1999',5000,3400,15000,30000); insert into kunden values(10001,'Computer Sommer KG','Hansastr. 137','45017','D','Münster',5,'Computerhandel',4,1,'12-06-1999',10000,7200,23000,49000); insert into kunden values(10002,'Elektronikmarkt Hesse','Viktualienmarkt 1','89025','D','Muenchen',7,'Elektrohandel',8,1,'01-11-2000',7500,4600,28000,20000); insert into kunden values(10003,'Elektrogrosshandel Strasser','Hermann-Hesse-Str. 25','37011','D','Braunschweig',6,'Elektrohandel',3,1,'27-02-2000',20000,12700,30500,78000); insert into kunden values(10004,'Blumenmarkt Immergruen','Freibergerlandstr. 155','45017',NULL,'Münster',3,'Blumenhandel',1,1,'04-12-2001',2000,1920,5700,8000); insert into kunden values(10005,'Architekturbüro Sandner','Heldengasse 3a','05732','D','Dresden',1,'Architekt',1,1,'05-09-2001',2000,900,3400,0); insert into kunden values(10006,'Helmut Fischer AG','Droste-Hülshof-Str. 32','45017',NULL,'Münster',0,'Büroausstattung',4,1,'01-01-1995',0,0,1200,0); insert into kunden values(10007,'Astrids Videoverleih','In der Hirschkuhle 4','77213','D',NULL,0,'Videoverleih',7,1,'25-06-2001',1500,700,2300,1500); insert into kunden values(10008,'Bürostudio Wellmann','Am Gardenkamp 5','32207','D','Saarbrücken',4,'Büroausstattung',3,1,'27-09-2001',1000,900,1200,2400); insert into kunden values(10009,'Tischlerei Jung','Potsdammer Platz 37','10257','D','Berlin',0,'Bau',1,1,'23-03-2003',1500,1200,3500,0); insert into kunden values(10010,'Top-Markt','Baselerstr. 32','05017','CH','Zürich',7,'Elektrohandel',4, 0,'23-01-2002',0,3500.78,3500.78,0); insert into kunden values(10011,'Multimedia-Huis','Wasserstrat 1','12089','NL','Londerzeel',7,'Elektrohandel',4, 1,'02-05-2001',3500,900,2566, 3400.01); insert into Sachbearbeiter values(1,'Erwin Müller'); insert into Sachbearbeiter values(2,'Heinz Preng'); insert into Sachbearbeiter values(3,'Ina Orten'); insert into Sachbearbeiter values(4,'Paul Kreuter'); insert into auftraege values(1,'13-01-2002',10006,1,2.5,1,4.00); insert into auftraege values(2,'02-12-2002',10002,1,0,1,4.00); insert into auftraege values(3,'10-03-2001',10006,2,7,3,4.00); insert into auftraege values(4,'24-11-2001',10001,3,5,2,4.00); insert into auftraege values(5,'23-01-2001',10002,1,0,3,4.00); insert into auftraege values(6,'19-02-2002',10006,1,7,3,4.00); insert into auftragspositionen values(1,1,1,'Coolpix775',3,455,'27-01-2002',1,3,2); insert into auftragspositionen values(1,2,1,'FS4000US',1,1010,'27-01-2002',1,0,0); insert into auftragspositionen values(2,1,1,'Perfection2450photo',2,445,'03-01-2002',0,2,2); insert into auftragspositionen values(2,2,1,'QV-4000',1,745,'03-01-2002',0,1,1); insert into auftragspositionen values(2,3,1,'ScanJet2200C',1,85,'15-03-2002',0,1,1); insert into auftragspositionen values(3,1,1,'LBP-810',6,260,'21-10-2001',2,4,3); insert into auftragspositionen values(3,2,0,'Coolpix775',2,455,'15-10-2001',0,2,2); insert into auftragspositionen values(3,3,1,'FS4000US',2,1000,'10-10-2001',2,0,0); insert into auftragspositionen values(3,4,1,'C-2',1,335,'21-10-2001',0,1,1); insert into auftragspositionen values(4,1,1,'B1719',3,170,'20-12-2001',0,3,2); insert into auftragspositionen values(5,1,1,'106095',1,290,'30-01-2001',0,1,0); insert into auftragspositionen values(5,2,1,'103026',2,190,'30-01-2001',1,1,0); insert into auftragspositionen values(5,3,1,'ScanJet2200C',1,75,'25-01-2001',0,1,1); insert into auftragspositionen values(6,1,1,'QV-4000',1,755,'03-10-2002',0,1,1); insert into rechnungen values(1,'27-01-2002',10001,4,1,111,16,128.76,'27-02-2002',NULL,NULL,128.76,'27-02-2002',1); insert into rechnungen values(2,'15-02-2002',10002,2,2,100,16,116.76,'30-05-2001',NULL,NULL,100.76,'30-04-2002',0); insert into rechnungen values(3,'12-01-2001',10006,1,3,56,16,64.96,'14-12-2001',NULL,NULL,64.96,'12-10-2001',1); insert into rechnungen values(4,'12-04-2001',10006,3,2,30,16,34.8,'20-12-2001',NULL,NULL,34.8,'19-12-2001',1); insert into rechnungen values(5,'13-04-2000',10002,5,1,130,16,150.8,'28-04-2000',NULL,NULL,0,NULL,0); insert into rechnungen values(6,'15-04-2001',10002,5,1,110,16,128.6,'05-01-2001',NULL,NULL,128.6,'22-04-2001',1); insert into rechnungen values(7,'28-05-2000',10006,1,1,221,16,256.36,'07-01-2000',NULL,NULL,0,NULL,0); insert into rechnungen values(8,'01-07-2001',10001,4,4,31,16,35.96,'28-01-2001',NULL,NULL,35.96,'27-01-2001',1); insert into rechnungen values(9,'19-05-2000',10006,6,4,50,16,58,'15-06-2000',NULL,NULL,58,'29-05-2000',1); insert into rechnungen values(10,'22-08-2001',10002,2,2,11,16,12.76,'15-09-2001','25-09-2001','15-11-2001',0,NULL,0); insert into rechnungen values(11,'15-02-2000',10002,2,1,100,16,116,'03-01-2000',NULL,NULL,116,'25-02-2000',1); insert into rechnungen values(12,'04-05-2001',10006,6,2,112,16,128.92,'20-04-2001',NULL,NULL,128.92,'20-04-2001',1); insert into rechnungen values(13,'18-12-2001',10006,3,2,119,16,138.04,'01-01-2002',NULL,NULL,138.04,'28-12-2001',1); insert into rechnungen values(14,'03-01-2002',10006,1,3,241,16,279.56,'20-03-2002','26-03-2002',NULL,0,NULL,0); insert into rechnungen values(16,'27-01-2002',10001,4,1,111,16,145,'27-02-2002',NULL,NULL,0,NULL,1); insert into rechnungen values(66,'27-01-2002',22001,4,1,111,16,145,'27-02-2002',NULL,NULL,0,NULL,1); insert into artikelbewegungen values('Coolpix775', '14-01-2001 16:15:00', 1,1,10001,1,455,0,182,0); insert into artikelbewegungen values('FS4000US', '25-05-2001 15:15:00', 2,1,10003,2,455,0,182,0); insert into artikelbewegungen values('B1719', '16-04-2001 14:15:00', 1,2,10004,3,455,0,182,0); insert into artikelbewegungen values('B1719', '27-03-2001 13:15:00', 2,1,10002,1,455,0,182,0); insert into artikelbewegungen values('QV-4000', '13-10-2001 19:15:00', 1,2,10005,1,455,0,182,0); insert into artikelbewegungen values('FS4000US', '06-05-2001 12:15:00', 2,3,10004,1,455,0,182,0); insert into artikelbewegungen values('Coolpix775', '07-01-2001 13:15:00', 2,1,10003,2,455,0,182,0); insert into artikelbewegungen values('Perfection2450photo', '08-07-2001 10:15:00', 4,1,10002,2,455,0,182,0); insert into artikelbewegungen values('FS4000US', '28-06-2001 16:15:00', 1,1,10006,1,455,0,182,0); insert into artikelbewegungen values('103026', '14-04-2001 14:15:00', 5,1,10005,1,455,0,182,0); insert into artikelbewegungen values('Coolpix775', '06-02-2001 13:15:00', 5,2,10003,3,455,0,182,0); insert into artikelbewegungen values('Coolpix775', '07-01-2001 14:15:00', 1,1,10001,2,455,0,182,0); insert into artikelbewegungen values('QV-4000', '08-06-2001 13:15:00', 2,3,10004,1,455,0,182,0); insert into artikelbewegungen values('Coolpix775', '03-02-2001 08:15:00', 3,1,10002,3,455,0,182,0); insert into artikelbewegungen values('103026', '14-03-2001 13:15:00', 2,1,10003,2,455,0,182,0); insert into artikelbewegungen values('FS4000US', '28-12-2001 13:15:00', 6,4,10005,2,455,0,182,0); insert into artikelbewegungen values('B1719', '04-06-2001 15:15:00', 6,1,10001,1,455,0,182,0); insert into artikelbewegungen values('QV-4000', '23-05-2001 14:15:00', 3,1,10001,1,455,0,182,0); insert into artikelbewegungen values('Coolpix775', '15-03-2001 13:15:00', 2,2,10003,1,455,0,182,0); insert into artikelbewegungen values('QV-4000', '27-03-2001 12:15:00', 1,3,10005,3,455,0,182,0); insert into artikelbewegungen values('Coolpix775', '07-08-2001 09:15:00', 3,4,10002,1,455,0,182,0); insert into artikelbewegungen values('Coolpix775', '06-12-2001 14:15:00', 1,1,10006,1,455,0,182,0); insert into artikelbewegungen values('Coolpix775', '08-12-2001 11:15:00', 1,3,10004,1,455,0,182,0); insert into artikelbewegungen values('FS4000US', '21-05-2001 13:15:00', 1,2,10003,2,455,0,182,0); insert into artikelbewegungen values('QV-4000', '03-02-2001 15:15:00', 1,1,10004,3,455,0,182,0); insert into artikelbewegungen values('B1719', '23-03-2001 11:15:00', 2,1,10006,2,455,0,182,0); insert into artikelbewegungen values('Coolpix775', '25-11-2001 12:15:00', 3,3,10002,1,455,0,182,0); insert into artikelbewegungen values('FS4000US', '13-09-2001 15:15:00', 2,4,10003,1,455,0,182,0); insert into artikelbewegungen values('B1719', '27-08-2001 17:15:00', 4,2,10004,2,455,0,182,0); insert into artikelbewegungen values('Coolpix775', '31-05-2001 09:15:00', 5,1,10001,3,455,0,182,0); insert into artikelbewegungen values('B1719', '13-03-2001 03:15:00', 6,2,10006,2,455,0,182,0); update artikelbewegungen set Einstandspreis = (select Einkaufspreis from artikel where artikel_Nr = artikelbewegungen.artikel_NR); update artikelbewegungen set verkaufspreis = (select verkaufspreis from artikel where artikel_Nr = artikelbewegungen.artikel_NR); update artikelbewegungen set Einstandswert = Einstandspreis * menge; update artikelbewegungen set Verkaufswert = Verkaufspreis * menge; |
Die Access DB zum Download |