Supondo que o domínio seja um domínio de palavra única como gmail.com, yahoo.com, use
select (SUBSTRING_INDEX(SUBSTR(email, INSTR(email, '@') + 1),'.',1))
O
SUBSTR interno obtém a parte correta do endereço de e-mail após @ e o SUBSTRING_INDEX externo cortará o resultado no primeiro período. caso contrário, se espera-se que o domínio contenha várias palavras como
mail.yahoo.com , etc, use:select (SUBSTR(email, INSTR(email, '@') + 1, LENGTH(email) - (INSTR(email, '@') + 1) - LENGTH(SUBSTRING_INDEX(email,'.',-1))))
LENGTH(email) - (INSTR(email, '@') + 1) - LENGTH(SUBSTRING_INDEX(email,'.',-1)) obterá o comprimento do domínio menos o TLD (.com, .biz etc. part) usando SUBSTRING_INDEX com uma contagem negativa que será calculada da direita para a esquerda.