E-mail case:
For Encryption, you need to use AES in ECB mode of operation in order to correctly execute the SELECT
query. The IV has no use in ECB mode of operation and ECB mode can leak information about the data even the e-mails are unique. If we consider that the data is more than one block, then some part of the data can be matched on the ciphertext - consider that the e-mail that separated exactly at the @
character. The other block-cipher mode of operations uses IV for probabilistic encryption that randomizes the same value into different ciphertext; like CBC and CTR don't allow the SELECT
queries.
Using HMAC can be a better solution if the data more than 128-bit size. There is a negligible chance of collision but it will be not important if you use HMAC-SHA256. If you find a collision then you can easily resolve it with other fields, but more importantly, you will be in the Cryptographic news!
The general case:
For both cases, there is a common frequency attack * that can be devastating. With the frequency knowledge of the data, an observer can reveal the ciphertext/HMACed data without needing any key!. Therefore; both solutions can only be secure if the data are unique on the column that they are stored.
For each column is advised to use different keys and those can be constructed from the master key by using HKDF(k,"table_name"+"column_name")
Conclusion: If the data is unique then HMAC-SHA256 is better, if not none.
* The linked answer in the Cryptography.SE gives details about the attack and post some realted articles