CREATE TABLE urls (
id INTEGER PRIMARY KEY,
url TEXT NOT NULL
);
CREATE TABLE tags (
id INTEGER PRIMARY KEY,
tag TEXT NOT NULL
);
CREATE TABLE UrlTags (
id INTEGER PRIMARY KEY,
urls_id INTEGER,
tags_id INTEGER,
FOREIGN KEY(urls_id) REFERENCES url(id),
FOREIGN KEY(tags_id) REFERENCES tags(id)
);
INSERT INTO urls VALUES (null, 'http://www.google.com/');
INSERT INTO urls VALUES (null, 'http://maps.google.com/');
INSERT INTO tags VALUES (null, 'google');
INSERT INTO tags VALUES (null, 'map');
INSERT INTO tags VALUES (null, 'search');
INSERT INTO urltags VALUES (null, 1, 1);
INSERT INTO urltags VALUES (null, 1, 2);
INSERT INTO urltags VALUES (null, 1, 3);
INSERT INTO urltags VALUES (null, 2, 2);
SELECT url
FROM urls u INNER JOIN urltags r ON u.id = r.urls_id
INNER JOIN tags t ON t.id = r.tags_id
WHERE t.tag = 'search';
d5e5 source
share