MySQL不区分大小写的连接

Mic*_*ver 2 mysql join case-insensitive

我有一个名为work的表,其中包含企业中每个人的注册信息,如下所示:

表:工作

FirstName LastName SponsorshipStatus EnrollmentStatus AdjudicationStatus
--------- -------- ----------------- ---------------- ------------------
JANE      DOE      Complete          Incomplete       Incomplete
JOHN      DOE      Complete          Complete         Incomplete
MONTY     PYTHON   Complete          Complete         Complete
MARY      POPPINS  Complete          Complete         Complete
Run Code Online (Sandbox Code Playgroud)

部门经理给我一份她的员工名单,如下面的员工,她需要更新状态:

表:员工

FirstName LastName
--------- --------
John      Doe
Mary      Poppins
Humpty    Dumpty
Run Code Online (Sandbox Code Playgroud)

知道两个表的情况不匹配,我尝试以下查询:

SELECT employees.FirstName, employees.LastName,
    SponsorshipStatus, EnrollmentStatus, AdjudicationStatus
    FROM employees LEFT JOIN work
    ON (UPPER(employees.FirstName) LIKE UPPER(work.FirstName)
    AND UPPER(employees.LastName) LIKE UPPER(work.LastName));
Run Code Online (Sandbox Code Playgroud)

......它产生以下结果:

查询结果:

FirstName LastName SponsorshipStatus EnrollmentStatus AdjudicationStatus
--------- -------- ----------------- ---------------- ------------------
JOHN      DOE      NULL              NULL             NULL
MARY      POPPINS  NULL              NULL             NULL
HUMPTY    DUMPTY   NULL              NULL             NULL
Run Code Online (Sandbox Code Playgroud)

这是我期望从查询中获得的:

FirstName LastName SponsorshipStatus EnrollmentStatus AdjudicationStatus
--------- -------- ----------------- ---------------- ------------------
JOHN      DOE      Complete          Complete         Incomplete
MARY      POPPINS  Complete          Complete         Complete
HUMPTY    DUMPTY   NULL              NULL             NULL
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?左连接正常工作,但它没有进行匹配并从工作表中提取相关数据,正如所有空值所证明的那样.

我已经在这里查看过很多帖子,但这些帖子似乎都没有在这里帮助我.

And*_*ter 6

你在滥用LIKE.LIKE除非你是模式匹配,否则不要使用.更改

UPPER(employees.FirstName) LIKE UPPER(work.FirstName)
Run Code Online (Sandbox Code Playgroud)

UPPER(employees.FirstName) = UPPER(work.FirstName)
Run Code Online (Sandbox Code Playgroud)

对姓氏也一样.