色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql 一對(duì)多 取1條

在MYSQL數(shù)據(jù)庫(kù)中,一對(duì)多是非常常見(jiàn)的關(guān)系,指的是一個(gè)主表和一個(gè)或多個(gè)相關(guān)表之間的關(guān)系。在這種情況下,我們可以使用JOIN操作來(lái)檢索關(guān)系表中的數(shù)據(jù)。在此例子中,我們來(lái)看一下如何使用MYSQL來(lái)執(zhí)行一對(duì)多中的取第一條操作。

-- 創(chuàng)建主表
CREATE TABLE `main` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 創(chuàng)建從表
CREATE TABLE `sub` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`main_id` int(11) DEFAULT NULL,
`sub_name` varchar(255) DEFAULT NULL,
`sub_value` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fk_sub_main_idx` (`main_id`),
CONSTRAINT `fk_sub_main` FOREIGN KEY (`main_id`) REFERENCES `main` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 插入數(shù)據(jù)
INSERT INTO `main` (`name`) VALUES ('Tom');
INSERT INTO `main` (`name`) VALUES ('Jerry');
INSERT INTO `main` (`name`) VALUES ('Mike');
INSERT INTO `sub` (`main_id`, `sub_name`, `sub_value`) VALUES (1, 'sub1', 10);
INSERT INTO `sub` (`main_id`, `sub_name`, `sub_value`) VALUES (1, 'sub2', 20);
INSERT INTO `sub` (`main_id`, `sub_name`, `sub_value`) VALUES (2, 'sub3', 30);
INSERT INTO `sub` (`main_id`, `sub_name`, `sub_value`) VALUES (2, 'sub4', 40);
INSERT INTO `sub` (`main_id`, `sub_name`, `sub_value`) VALUES (3, 'sub5', 50);
-- 取主表和從表第一條數(shù)據(jù)
SELECT m.name, s.sub_name, s.sub_value 
FROM main m
JOIN sub s ON m.id = s.main_id AND s.id = (
SELECT MIN(id) FROM sub WHERE main_id = m.id
)

首先我們創(chuàng)建了一張主表和一張關(guān)系表,其中從表中的“main_id”引用了主表的ID,從而創(chuàng)建了一對(duì)多的關(guān)系。然后我們插入了一些數(shù)據(jù)來(lái)模擬實(shí)際的情況。

在查詢中,我們使用JOIN來(lái)連接主表和從表,然后使用子查詢來(lái)取得從表的第一條記錄。這個(gè)子查詢返回每個(gè)主表ID的最小的關(guān)系表ID,從而保證我們只檢索了每個(gè)關(guān)系的第一條記錄。

最終的結(jié)果應(yīng)該類似于以下內(nèi)容:

+-------+---------+-----------+
| name  | sub_name| sub_value |
+-------+---------+-----------+
| Tom   | sub1    | 10        |
| Jerry | sub3    | 30        |
| Mike  | sub5    | 50        |
+-------+---------+-----------+

通過(guò)這個(gè)簡(jiǎn)單的例子,我們可以看到MYSQL如何處理一對(duì)多的關(guān)系,并且如何在檢索數(shù)據(jù)時(shí)只取每個(gè)關(guān)系的第一條數(shù)據(jù)。