Now I would like to SELECT the oldest person in the table by birthday.

Answer:
Use a nested query to find the earliest birthday.

-- Set up the problemDROPTABLEpeople;CREATETABLEpeople(personIdINTEGERPRIMARYKEY,nameVARCHAR(20),sexCHAR(1),birthdayDATE,placOfBirthVARCHAR(20));INSERTINTOpeopleVALUES(1,'Oliver','M','25 May 1985','Bedford');INSERTINTOpeopleVALUES(2,'Andrew','M','20 May 1962','Hong Kong');-- Here is the answerSELECT*FROMpeopleWHEREbirthday=(SELECTMIN(birthday)FROMpeople)

-- Set up the problemDROPTABLEpeople;CREATETABLEpeople(personIdINTEGERPRIMARYKEY,nameVARCHAR(20),sexCHAR(1),birthdayDATE,placOfBirthVARCHAR(20));INSERTINTOpeopleVALUES(1,'Oliver','M','25 May 1985','Bedford');INSERTINTOpeopleVALUES(2,'Andrew','M','20 May 1962','Hong Kong');-- Here is the answerSELECT*FROMpeopleWHEREbirthday=(SELECTMIN(birthday)FROMpeople)

-- Set up the problemDROPTABLEpeople;CREATETABLEpeople(personIdINTEGERPRIMARYKEY,nameVARCHAR(20),sexCHAR(1),birthdayDATE,placOfBirthVARCHAR(20));INSERTINTOpeopleVALUES(1,'Oliver','M','25 May 1985','Bedford');INSERTINTOpeopleVALUES(2,'Andrew','M','20 May 1962','Hong Kong');-- Here is the answerSELECT*FROMpeopleWHEREbirthday=(SELECTMIN(birthday)FROMpeople)

-- Set up the problemDROPTABLEpeople;CREATETABLEpeople(personIdINTEGERPRIMARYKEY,nameVARCHAR(20),sexCHAR(1),birthdayDATE,placOfBirthVARCHAR(20));INSERTINTOpeopleVALUES(1,'Oliver','M','25 May 1985','Bedford');INSERTINTOpeopleVALUES(2,'Andrew','M','20 May 1962','Hong Kong');-- Here is the answerSELECT*FROMpeopleWHEREbirthday=(SELECTMIN(birthday)FROMpeople)

-- Set up the tableDROPTABLEpeople;CREATETABLEpeople(personIdINTEGERPRIMARYKEY,nameVARCHAR(20),sexCHAR(1),birthdayDATE,placOfBirthVARCHAR(20));INSERTINTOpeopleVALUES(1,'Oliver','M','1985-05-25','Bedford');INSERTINTOpeopleVALUES(2,'Andrew','M','1962-05-20','Hong Kong');--Here is the answerSELECT*FROMpeopleORDERBYbirthdayASCLIMIT1

-- Set up the problemDROPTABLEpeople;CREATETABLEpeople(personIdINTEGERPRIMARYKEY,nameVARCHAR(20),sexCHAR(1),birthdayDATE,placOfBirthVARCHAR(20));INSERTINTOpeopleVALUES(1,'Oliver','M','25 May 1985','Bedford');INSERTINTOpeopleVALUES(2,'Andrew','M','20 May 1962','Hong Kong');-- Here is the answerSELECT*FROMpeopleWHEREbirthday=(SELECTMIN(birthday)FROMpeople)

We can order by birthday and select the first one only.

If there are two or more oldest people then only one of them will be returned.