我有两个名为MytableA和MytableB的表。 MytableA拥有609行,MytableB拥有607行。两行都具有相同的结构。我只想找出MytableA中MytableB中不存在哪些imageURL,并显示那些丢失的行?谁能告诉我什么是MySQL语句来显示MytableB中缺少的行?
CREATE TABLE IF NOT EXISTS `MytableA` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(32) DEFAULT NULL,
`bio` varchar(90) DEFAULT NULL,
`website` varchar(90) DEFAULT NULL,
`profile` varchar(90) NOT NULL,
`fullname` varchar(250) DEFAULT '',
`diffId` varchar(250) NOT NULL DEFAULT '',
`imageUrl` varchar(250) NOT NULL DEFAULT '',
`PageURL` varchar(250) NOT NULL DEFAULT '',
`CreatedTime` varchar(250) NOT NULL DEFAULT '',
`imageTags` varchar(250) NOT NULL DEFAULT '',
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`ID`)
)
答案 0 :(得分:9)
SELECT *
FROM MyTableA
WHERE imageURL NOT IN (SELECT imageURL FROM MyTableB)
可能有更快的方法,但这具有简洁的优点。
答案 1 :(得分:1)
我认为你正在寻找这样的东西。它可能比subselect更好更快。
SELECT *
FROM tableA
LEFT JOIN tableB ON tableA.field = tableB.field
WHERE tableB.field is NULL;