CREATE TABLE kategoria (
id INT(6) UNSIGNED NOT NULL PRIMARY KEY,
nazwa VARCHAR(30) NOT NULL
) CHARACTER SET utf8;
INSERT INTO kategoria (id, nazwa) VALUES (1, 'javascript');
INSERT INTO kategoria (id, nazwa) VALUES (2, 'html5');
INSERT INTO kategoria (id, nazwa) VALUES (3, 'css3');
INSERT INTO kategoria (id, nazwa) VALUES (4, 'mysql5.x');
CREATE TABLE artykuly (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
kategoria INT(6) UNSIGNED NOT NULL,
tresc VARCHAR(255) NOT NULL
) CHARACTER SET utf8;
INSERT INTO artykuly (kategoria, tresc) VALUES (1,'Artykuł o javascript #01');
INSERT INTO artykuly (kategoria, tresc) VALUES (1,'Artykuł o javascript #02');
INSERT INTO artykuly (kategoria, tresc) VALUES (2,'Artykuł o html5 #01');
INSERT INTO artykuly (kategoria, tresc) VALUES (2,'Artykuł o html5 #02');
INSERT INTO artykuly (kategoria, tresc) VALUES (1,'Artykuł o javascript #03');
INSERT INTO artykuly (kategoria, tresc) VALUES (3,'Artykuł o css3 #01');
INSERT INTO artykuly (kategoria, tresc) VALUES (3,'Artykuł o css3 #02');
INSERT INTO artykuly (kategoria, tresc) VALUES (1,'Artykuł o javascript #04');
INSERT INTO artykuly (kategoria, tresc) VALUES (2,'Artykuł o html5 #03');
INSERT INTO artykuly (kategoria, tresc) VALUES (1,'Artykuł o javascript #05');
INSERT INTO artykuly (kategoria, tresc) VALUES (1,'Artykuł o javascript #06');
INSERT INTO artykuly (kategoria, tresc) VALUES (3,'Artykuł o css3 #03');
INSERT INTO artykuly (kategoria, tresc) VALUES (3,'Artykuł o css3 #04');
INSERT INTO artykuly (kategoria, tresc) VALUES (2,'Artykuł o html5 #04');
INSERT INTO artykuly (kategoria, tresc) VALUES (2,'Artykuł o html5 #05');
INSERT INTO artykuly (kategoria, tresc) VALUES (3,'Artykuł o css3 #05');
INSERT INTO artykuly (kategoria, tresc) VALUES (1,'Artykuł o javascript #07');
INSERT INTO artykuly (kategoria, tresc) VALUES (1,'Artykuł o javascript #08');
INSERT INTO artykuly (kategoria, tresc) VALUES (2,'Artykuł o html5 #06');
INSERT INTO artykuly (kategoria, tresc) VALUES (2,'Artykuł o html5 #07');
INSERT INTO artykuly (kategoria, tresc) VALUES (2,'Artykuł o html5 #08');
INSERT INTO artykuly (kategoria, tresc) VALUES (4,'Artykuł o mysql5.x #01');
INSERT INTO artykuly (kategoria, tresc) VALUES (4,'Artykuł o mysql5.x #02');
INSERT INTO artykuly (kategoria, tresc) VALUES (4,'Artykuł o mysql5.x #03');
INSERT INTO artykuly (kategoria, tresc) VALUES (4,'Artykuł o mysql5.x #04');
INSERT INTO artykuly (kategoria, tresc) VALUES (3,'Artykuł o css3 #06');
INSERT INTO artykuly (kategoria, tresc) VALUES (3,'Artykuł o css3 #07');
INSERT INTO artykuly (kategoria, tresc) VALUES (4,'Artykuł o mysql5.x #05');
INSERT INTO artykuly (kategoria, tresc) VALUES (4,'Artykuł o mysql5.x #06');
INSERT INTO artykuly (kategoria, tresc) VALUES (3,'Artykuł o css3 #08');
INSERT INTO artykuly (kategoria, tresc) VALUES (4,'Artykuł o mysql5.x #07');
INSERT INTO artykuly (kategoria, tresc) VALUES (4,'Artykuł o mysql5.x #08');
(
SELECT a.id AS 'Id artykuł',
a.kategoria AS 'Id kategoria',
a.tresc AS 'Treść',
k.nazwa AS 'Nazwa kategorii'
FROM artykuly AS a, kategoria AS k
WHERE a.kategoria = k.id AND
k.nazwa = 'javascript'
ORDER BY a.tresc DESC, k.nazwa
LIMIT 4
)
UNION
(
SELECT a.id, a.kategoria, a.tresc, k.nazwa
FROM artykuly AS a, kategoria AS k
WHERE a.kategoria = k.id AND
k.nazwa = 'html5'
ORDER BY a.tresc DESC, k.nazwa
LIMIT 4
)
UNION
(
SELECT a.id, a.kategoria, a.tresc, k.nazwa
FROM artykuly AS a, kategoria AS k
WHERE a.kategoria = k.id AND
k.nazwa = 'css3'
ORDER BY a.tresc DESC, k.nazwa
LIMIT 4
)
UNION
(
SELECT a.id, a.kategoria, a.tresc, k.nazwa
FROM artykuly AS a, kategoria AS k
WHERE a.kategoria = k.id AND
k.nazwa = 'mysql5.x'
ORDER BY a.tresc DESC, k.nazwa
LIMIT 4
);
| Id artykuł | Id kategoria | Treść | Nazwa kategorii |
| ---------- | ------------ | ------------------------ | --------------- |
| 18 | 1 | Artykuł o javascript #08 | javascript |
| 17 | 1 | Artykuł o javascript #07 | javascript |
| 11 | 1 | Artykuł o javascript #06 | javascript |
| 10 | 1 | Artykuł o javascript #05 | javascript |
| 21 | 2 | Artykuł o html5 #08 | html5 |
| 20 | 2 | Artykuł o html5 #07 | html5 |
| 19 | 2 | Artykuł o html5 #06 | html5 |
| 15 | 2 | Artykuł o html5 #05 | html5 |
| 30 | 3 | Artykuł o css3 #08 | css3 |
| 27 | 3 | Artykuł o css3 #07 | css3 |
| 26 | 3 | Artykuł o css3 #06 | css3 |
| 16 | 3 | Artykuł o css3 #05 | css3 |
| 32 | 4 | Artykuł o mysql5.x #08 | mysql5.x |
| 31 | 4 | Artykuł o mysql5.x #07 | mysql5.x |
| 29 | 4 | Artykuł o mysql5.x #06 | mysql5.x |
| 28 | 4 | Artykuł o mysql5.x #05 | mysql5.x |
Link do tesów on-line: Demo MySQL v.5.7