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
Download