多対多のデータベースにクエリを実行する方法を学びたいと思います。これは、3 つのテーブルと 3 つの外部キーを持つ 1 つの多対多テーブルを持つデータベースの例です。テーブルに対して SELECT ステートメントをどのように実行しますか?st_glowne_others
たとえば、「st_glowne」テーブルの名前列の特定の値と「st_pages」テーブルの名前列の特定の値にリンクする「st_components」テーブルから可能なすべての結果を SELECT したい場合。前もって感謝します!。
表1
CREATE TABLE `st_glowne` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) COLLATE utf8_polish_ci NOT NULL,
`location` varchar(50) COLLATE utf8_polish_ci NOT NULL DEFAULT './',
PRIMARY KEY (`name`),
KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci
表2
CREATE TABLE `st_pages` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) COLLATE utf8_polish_ci NOT NULL,
`filelocation` varchar(50) COLLATE utf8_polish_ci NOT NULL DEFAULT 'pages/',
PRIMARY KEY (`name`),
KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_polish_c
表3
CREATE TABLE `st_components` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) COLLATE utf8_polish_ci NOT NULL,
`location` varchar(100) COLLATE utf8_polish_ci NOT NULL DEFAULT 'components/',
PRIMARY KEY (`name`),
KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci
これは、クエリを実行するテーブルです。
CREATE TABLE `st_glowne_others` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`st_glowne` varchar(50) COLLATE utf8_polish_ci NOT NULL,
`st_pages` varchar(50) COLLATE utf8_polish_ci NOT NULL,
`st_components` varchar(50) COLLATE utf8_polish_ci NOT NULL,
PRIMARY KEY (`id`),
KEY `id` (`id`),
KEY `st_glowne` (`st_glowne`),
KEY `st_pages` (`st_pages`),
KEY `st_components` (`st_components`),
KEY `st_components_2` (`st_components`),
CONSTRAINT `st_glowne_others_ibfk_3` FOREIGN KEY (`st_components`) REFERENCES `st_components` (`name`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `st_glowne_others_ibfk_1` FOREIGN KEY (`st_glowne`) REFERENCES `st_glowne` (`name`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `st_glowne_others_ibfk_2` FOREIGN KEY (`st_pages`) REFERENCES `st_pages` (`name`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci
そこからクエリを実行する方法を教えてください。大変感謝します !