LeetCode:Database 108.查找拥有有效邮箱的用户

Posted Xiao Miao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode:Database 108.查找拥有有效邮箱的用户相关的知识,希望对你有一定的参考价值。

要求:写一条 SQL 语句,查询拥有有效邮箱的用户。

有效的邮箱包含符合下列条件的前缀名和域名:

  • 前缀名是包含字母(大写或小写)、数字、下划线 ‘_’、句点 ‘.’ 和/或横杠 ‘-’ 的字符串。前缀名必须以字母开头,域名是 ‘@leetcode.com’ 。

用户表: Users的结构

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| user_id       | int     |
| name          | varchar |
| mail          | varchar | 
+---------------+---------+
user_id (用户 ID)是该表的主键。
这个表包含用户在某网站上注册的信息。有些邮箱是无效的。

Users 表:

+---------+-----------+-------------------------+
| user_id | name      | mail                    |
+---------+-----------+-------------------------+
| 1       | Winston   | winston@leetcode.com    |
| 2       | Jonathan  | jonathanisgreat         |
| 3       | Annabelle | bella-@leetcode.com     |
| 4       | Sally     | sally.come@leetcode.com |
| 5       | Marwan    | quarz#2020@leetcode.com |
| 6       | David     | david69@gmail.com       |
| 7       | Shapiro   | .shapo@leetcode.com     |
+---------+-----------+-------------------------+

Result Table:

+---------+-----------+-------------------------+
| user_id | name      | mail                    |
+---------+-----------+-------------------------+
| 1       | Winston   | winston@leetcode.com    |
| 3       | Annabelle | bella-@leetcode.com     |
| 4       | Sally     | sally.come@leetcode.com |
+---------+-----------+-------------------------+
2 号用户的邮箱没有域名。
5 号用户的邮箱包含非法字符 #。
6 号用户的邮箱的域名不是 leetcode。
7 号用户的邮箱以句点(.)开头。

SQL语句:

#1.方法1
select user_id,name,mail
from users
where mail regexp '^[a-zA-Z][\\\\w./-]*@leetcode[.]com$';
#2.方法2
select user_id,name,mail
from users
where mail regexp '^[a-zA-Z][a-zA-Z0-9_./-]*@leetcode[.]com$';

以上是关于LeetCode:Database 108.查找拥有有效邮箱的用户的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode:Database 95.查找成绩处于中游的学生

LeetCode:Database 85.电影评分

LeetCode:Database 26.好友申请 II :谁有最多的好友

LeetCode:Database 73.平均售价

LeetCode:Database 54.用户购买平台

LeetCode:Database 65.每月交易 I