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

mysql兩個表查詢不同

錢艷冰2年前10瀏覽0評論

在MySQL中,我們可以使用JOIN操作將不同的表關(guān)聯(lián)起來,查詢出我們需要的數(shù)據(jù)。下面我們以兩個表為例進(jìn)行演示。

假設(shè)我們有兩個表:文章表(article)和用戶表(user),它們的結(jié)構(gòu)如下:

CREATE TABLE `article` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`content` text NOT NULL,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

現(xiàn)在我們需要查詢所有文章的標(biāo)題、內(nèi)容以及對應(yīng)的作者姓名和郵箱。我們可以通過下面的SQL語句實現(xiàn):

SELECT article.title, article.content, user.name, user.email
FROM article
INNER JOIN user ON article.user_id = user.id;

上述查詢語句將兩個表按照文章作者的ID進(jìn)行內(nèi)連接(INNER JOIN),并查詢出需要的字段。使用INNER JOIN可以保證只查詢出兩個表都存在的數(shù)據(jù),避免出現(xiàn)不必要的NULL值。

需要注意的是,如果文章表中的user_id字段存在重復(fù),會導(dǎo)致一篇文章匹配到多個作者,從而得到錯誤的結(jié)果。此時,可以使用DISTINCT關(guān)鍵字去重。

SELECT DISTINCT article.title, article.content, user.name, user.email
FROM article
INNER JOIN user ON article.user_id = user.id;

使用以上查詢語句即可得到正確的結(jié)果。