检索数据 / 检索重复行

SELECT a.* 
FROM countrylanguage a 
WHERE
    a.IsOfficial = 'T' AND
    EXISTS (
        SELECT 1
        FROM countrylanguage b
        WHERE
            b.CountryCode = a.CountryCode AND 
            b.IsOfficial = a.IsOfficial AND
            b.`Language` <> a.`Language`
    )


CountryCode Language IsOfficial Percentage
AFG Pashto T 52.4
AFG Dari T 32.1
ANT Papiamento T 86.2
ANT Dutch T 0.0
ASM Samoan T 90.6
ASM English T 3.1
BDI Kirundi T 98.1
BDI French T 0.0
BEL French T 32.6
BEL German T 1.0
...

从 countrylanguage 表中选出这样的记录:该语言是官方语言,且这个国家还有另一门官方语言。 EXISTS 会执行子查询,只要子查询返回了至少一行,它就为真。