title: SQL: Sorting By Email Domain Name
body: <p>What is the shortest and/or efficient SQL statement to sort a table with a column of email address by it's DOMAIN name fragment? </p>
  
  <p>That's essentially ignoring whatever is before "@" in the email addresses and case-insensitive. Let's ignore the internationalized domain names for this one.</p>
  
  <p>Target at: mySQL, MSSQL, Oracle</p>
  
  <p>Sample data from <code>TABLE1</code></p>
  
  <pre>
  id   name           email 
  ------------------------------------------
   1   John Doe       johndoe@domain.com
   2   Jane Doe       janedoe@helloworld.com
   3   Ali Baba       ali@babaland.com
   4   Foo Bar        foo@worldof.bar.net
   5   Tarrack Ocama  me@am-no-president.org
  </pre>
  
  <p>Order By Email<br>
  <code>SELECT * FROM TABLE1 ORDER BY EMAIL ASC</code></p>
  
  <pre>
  id   name           email 
  ------------------------------------------
   3   Ali Baba       ali@babaland.com
   4   Foo Bar        foo@worldof.bar.net
   2   Jane Doe       janedoe@helloworld.com
   1   John Doe       johndoe@domain.com
   5   Tarrack Ocama  me@am-no-president.org
  </pre>
  
  <p>Order By Domain<br>
  <code>SELECT * FROM TABLE1 ORDER BY ?????? ASC</code></p>
  
  <pre>
  id   name           email 
  ------------------------------------------
   5   Tarrack Ocama  me@am-no-president.org
   3   Ali Baba       ali@babaland.com
   1   John Doe       johndoe@domain.com
   2   Jane Doe       janedoe@helloworld.com
   4   Foo Bar        foo@worldof.bar.net
  </pre>
  
  <p><strong>EDIT:</strong><br>
  I am not asking for a single SQL statement that will work on all 3 or more SQL engines. Any contribution are welcomed. :)</p>