I have this problem where mysql is nto doing what it should do. I jsut get an error. I dont know why it is not working but it might have to do with the fact my database has wrong connection. I do think it is correct tho
oef 20
SELECT klant.naam, klant.email, bestelling.bestellingnr, bestelling.datum
FROM klant
left JOIN bestelling ON klant.klantnr = bestelling.klantnr
order by bestelling.datum
oef 21
SELECT album.titel, bestelitem.bestellingnr, bestelitem.aantal
FROM album
LEFT JOIN bestelitem ON album.albumcode = bestelitem.albumcode
ORDER BY titel
oef 22
SELECT klant.naam, klant.email, album.titel, album.artiest, bestelitem.bestellingnr, bestelitem.aantal
FROM klant
INNER JOIN (
bestelling
INNER JOIN (
bestelitem
INNER JOIN album ON album.albumcode = bestelitem.albumcode
) ON bestelling.bestellingnr = bestelitem.bestellingnr
) ON klant.klantnr = bestelling.klantnr
LIMIT 0 , 30
Oef 23
SELECT albumcode, COUNT( aantal )
FROM bestelitem
GROUP BY albumcode
LIMIT 0 , 30
Oef24
SELECT bestellingnr, COUNT( aantal )
FROM bestelitem
GROUP BY bestellingnr
LIMIT 0 , 30
Oef 25
SELECT MIN( prijs )
FROM album
Oef 26
SELECT MAX( prijs )
FROM album
Oef 27
SELECT SUM( aantal )
FROM bestelitem
Oef 28
UPDATE klant SET adres = 'galileiplantsoen 333',
postcode = '1010RR' WHERE Klantnr = 'K1000'
Oef 29
INSERT INTO `klant` ( `klantnr` , `naam` , `adres` , `postcode` , `woonplaats` , `email` )
VALUES (
'K9999', 'Lex', 'Camilla', 'Hagabakka 24', '4656RR', 'Utrecht', 'lecam@wanadoo.nl')
Oef30
Delete from klant
where klantnr = ‘K9999’
31
create database test
32
drop database test
33
CREATE DATABASE Administratie
34
CREATE TABLE testtable (naam VARCHAR (15), leeftijd int(2));
35
DROP TABLE testtable
36
CREATE TABLE leerlingen(
leerlingnummer INT( 4 ) ,
Achternaam VARCHAR( 15 ) ,
voornaam VARCHAR( 15 ) ,
leeftijd INT( 2 ) ,
adres VARCHAR( 15 ) ,
postcode VARCHAR( 6 ) ,
woonplaats VARCHAR( 15 ) ,
telefoonnummer VARCHAR( 10 ) ,
email VARCHAR( 15 ) ,
opleiding VARCHAR( 15 )
)
37
INSERT INTO `leerlingen` ( `leerlingnummer` , `Achternaam` , `voornaam` , `leeftijd` , `adres` , `postcode` , `woonplaats` , `telefoonnummer` ,`email` , `opleiding` )
VALUES (
'1002', 'Huisden', 'Dylan', 18, 'Middenweg 11', '1008VV', 'Amsterdam', '02044455555', 'dhuisden@rovca.nl', 'ict'
)
38
INSERT INTO `leerlingen` ( `leerlingnummer` , `Achternaam` , `voornaam` , `leeftijd` , `adres` , `postcode` , `woonplaats` , `telefoonnummer` ,`email` , `opleiding` )
VALUES (
'1003', 'Bosman', 'Nitin', 17, 'Middenweg 11', '1008VV', 'Amsterdam', '020444444444', 'bosman@rovca.nl', 'ict'
)
39
ALTER TABLE leerlingen RENAME studenten
40
ALTER TABLE studenten MODIFY COLUMN postcode VARCHAR( 10 )
41
ALTER TABLE studenten MODIFY COLUMN postcode VARCHAR( 6 ) ,
MODIFY COLUMN email VARCHAR( 30 )
42
ALTER TABLE studenten ADD COLUMN testkolom VARCHAR( 10 )
43
ALTER TABLE studenten DROP COLUMN testkolom
44
ALTER TABLE studenten ADD COLUMN klas VARCHAR( 10 )
UPDATE studenten SET klas = '1AO99'
45
ALTER TABLE studenten CHANGE COLUMN leerlingnummer studentnummer INT( 4 )
46
ALTER TABLE studenten CHANGE COLUMN studentnummer Studentnummer INT( 4 ) ,
CHANGE COLUMN adres Adres VARCHAR( 15 ) ,
CHANGE COLUMN email Email VARCHAR( 30 ) ,
CHANGE COLUMN klas Klas VARCHAR( 15 ) ,
CHANGE COLUMN leeftijd Leeftijd INT( 2 ) ,
CHANGE COLUMN opleiding Opleiding VARCHAR( 15 ) ,
CHANGE COLUMN postcode Postcode VARCHAR( 15 ) ,
CHANGE COLUMN telefoonnummer Telefoonnummer VARCHAR( 15 ) ,
CHANGE COLUMN voornaam Voornaam VARCHAR( 15 ) ,
CHANGE COLUMN woonplaats Woonplaats VARCHAR( 15 )
47
ALTER TABLE studenten ADD PRIMARY KEY(studentnummer)
48
ALTER TABLE studenten DROP PRIMARY KEY
49
ALTER TABLE studenten ADD PRIMARY KEY ( studentnummer )
50
SELECT CONCAT( 'My', 'SQ', 'L' )
51
SELECT CONCAT_WS( ':', 'Naam', 'Adres', 'Woonplaats' )
52
SELECT CHAR_LENGTH( 'MySQL' )
53
SELECT FIND_IN_SET( 'Adres', 'Naam,Adres,Woonplaats' )
54
SELECT FORMAT( 1234.1234567, 3 )
55
SELECT INSERT( 'drievoud', 1, 4, 'vier' )
56
SELECT INSTR( 'drievoud', 'voud' )
(Hoeveelste letter begint voud 5)
57
SELECT LEFT( 'drievoud', 4 )
58
SELECT LOCATE( 'drie', 'drie maal drie' )
59
SELECT LOCATE( 'drie', 'drie maal drie', 5 )
(Hoeveelste plaats begint drie als je begint van de 5de letter)
60
SELECT LOWER( 'NAAM, ADRES, WOONPLAATS' )
61
SELECT LPAD( '1234', 6, '$$' )
(LPAD voegt links aan de string iets toe. De 6 hier is de aantal chars als je $$ toevoegd)
62
SELECT LTRIM( ' 1234' )
63
SELECT POSITION( 'voud'
IN 'honderdvoud' )
(is dit niet hetzelfde als INSTR?)
64
SELECT REPEAT( '=', 15 )
(15 keer = plaatsen)
65
SELECT REPLACE( 'januari 3 t/m januari 7', 'januari', 'februari' )
66
SELECT REVERSE( '1234567890' )
67
SELECT RIGHT(‘1234567890’,3)
(eerste 3 laten zien van rechts beginnen)
68
SELECT RPAD (‘1234’,6,’--‘)
(rechts erbij toevoegen in plaats van LPAD links)
69
SELECT RTIM(‘1234 ‘)
70
SELECT SPACE(5)
(5 spaties in een char)
71
SELECT SUBSTRING(‘phpMyAdmin’ FROM 6)
(toon wat er na de 6de char komt)
72
SELECT SUBSTRING(‘phpMYadmin’ FROM 6 FOR 2)
(vanaf de 6de char 2 chars tonen)
73
SELECT SUBSTRING_INDEX(‘Naam:Adres:Woonplaats’, ‘:’,2)
74
SELECT TRIM(‘ MySQL ‘)
(Onnodige spaties wegdoen)
75
SELECT TRIM(LEADING ‘$’ FROM ‘$$1234’
(specifiek $ wegdoen die vanvoor beginnen (leading))
76
SELECT TRIM(TRAILING ‘-‘ FROM ‘1234--‘)
(specifiek – wegdoen die vanachter beginnen(trailing))
77
SELECT UPPER(‘MYSql’)
(Alles in hoofdletters zetten
78
CREATE TABLE boeken (
code varchar(5),
titel varchar(22),
auteur varchar(15),
prijs decimal(5,2) default '0.00',
voorraad int(11) default '0',
PRIMARY KEY (code)
);
INSERT INTO boeken (code, titel, auteur, prijs, voorraad) VALUES ('10001', 'BASIS XHTML', 'J.J. Glover', 33.00, 100), ('10002', 'BASIS JavaScript', 'R.W. Castaneda', 44.90, 50), ('10003', 'BASIS PHP', 'B. Desmet', 53.00, 78), ('10004', 'BASIS MySQL', 'O.O. Marquez', 26.00, 200);
79
SET @totaal = 0.0;
CALL proc_totaalvoorraad(@totaal);
select @totaal;
80
CREATE PROCEDURE proc_minprijs(inout minprijs FLOAT)
BEGIN
SELECT MIN( prijs ) INTO minprijs FROM boeken;
END ;//
set @minprijs = 0.0;
call proc_minprijs(@minprijs);
select format(@minprijs,2);
81
create procedure
proc_watismaxprijs(inout maxprijs float, out antwoord varchar(255))
begin select max(prijs) into maxprijs from boeken;
select concat('De max prijs is:',maxprijs) into antwoord;
end;//
CALL proc_watismaxprijs(@maxprijs,@antwoord);
select @antwoord;
82
show create procedure proc_watismaxprijs
83
show create procedure proc_totaalvoorraad
84
create procedure proc_checkparams(inout param1 varchar(5), inout param2 int, out melding varchar(50))
sql security definer
begin
if param1 = '' OR param2 = '' then
SET melding = ' Foutmelding: er zijn een of meer input errors';
else
set melding = 'Er zijn geen input errors';
end if;
end//
set @param1 = '';
set @param2 = 0;
set @melding = '';
CALL proc_checkparams(@param1,@param2,@melding);
86
CREATE PROCEDURE proc_setvoorraad( IN code INT ) BEGIN CASE code WHEN 0 THEN UPDATE boeken SET voorraad =0;
WHEN 1 THEN UPDATE boeken SET voorraad =100;
WHEN 1 THEN UPDATE boeken SET voorraad =200;
ELSE UPDATE boeken SET voorraad =300;
END CASE ;
END ;
set @code = 0;
call proc_setvoorraad(@code);
88
CREATE PROCEDURE proc_voegdriecodes( ) BEGIN DECLARE controlvar INT DEFAULT 0;
DECLARE boekcode VARCHAR( 5 ) ;
SELECT MAX( code )
INTO boekcode
FROM boeken;
WHILE controlvar <3 DO SET boekcode = boekcode +1;
INSERT INTO boeken
VALUES (
boekcode, '', '', 0, 0
);
SET controlvar = controlvar +1;
END WHILE;
END ;
89
CREATE procedure proc_boektoevoegen (@titel,@auteur,@prijs,@voorraad);
SET @titel = ‘basis CSS’;
SET @auteur = ‘R.W. castaneda’;
SET @prijs = ‘R.W. castaneda’;
SET @voorraad = 200;
CALL proc_boektoevoegen (@titel, @auteur , @ prijs, @voorraad);
90
CREATE PROCEDURE verwijderblancorijen()
BEGIN
DECLARE dezecode VARCHAR(5);
DECLARE dezetitel VARCHAR(22);
DECLARE finish INT DEFAULT 0;
DECLARE cursor1 CURSOR FOR SELECT code, titel FROM boeken;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finish = 1;
OPEN cursor1;
WHILE NOT finish DO
FETCH cursor1 INTO dezecode, dezetitel;
IF dezetitel = ‘’ THEN
DELETE FROM boeken WHERE code = dezecode;
END IF;
END WHILE;
CLOSE cursor1;
END//
91
CREATE PROCEDURE proc_nieuwevoorraad(IN nieuwevoorraad INT)
Set @nieuwevoorraad = 500;
CALL proc_nieuwevoorraad(@nieuwevoorraad);
92
CREATE FUNCTION func_prijsverlaging(boekcode INT, procent FLOAT)
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE dezecode FLOAT;
DECLARE dezeprijs FLOAT;
DECLARE verlaging FLOAT;
DECLARE finish INT DEFAULT 0;
DECLARE cursor1 CURSOR FOR SELECT code, prijs FROM boeken;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finish = 1;
OPEN cursor1;
WHILE NOT finish DO
FETCH cursor1 INTO dezecode, dezprijs;
IF dezecode = boekcode THEN
SET verlaging = dezeprijs * (procent /100);
UPDATE boeken SET prijs = dezeprijs – verlaging WHERE
Code = boekcode;
END IF;
END WHILE;
CLOSe cursor1;
RETURN(1);
END//
96
CREATE TRIGGER trig_voorraadwaarschuwing
BEFORE UPDATE
ON boeken
FOR EACH ROW
BEGIN
IF NEW.voorraad <=10 THEN
SET NEW.voorraad = 100;
ELSEIF NEW.voorraad > 500 THEN
SET NEW.voorraad = 1000;
END IF;
END//
Aucun commentaire:
Enregistrer un commentaire