mysql - 通过 SQL 根据匹配模式从表中检索名称?

标签 mysql sql oracle11g

我有名为 Student 的表,其中包含以下列及其值

roll_no      name       marks
123          rabes      80
567          baban      78
798          rees       98
345          tem        89
321          tom        82
987          lakhen     95
787          Mekkan     92

我想过滤只有a或只有e或两者一起的学生姓名。我已经编写了如下查询:

SQL: 从学生中选择姓名,其中姓名如“%a%”,姓名如“%e%”

查询的输出:

roll_no      name       marks
123          rabes      80
567          baban      78
798          rees       98
345          tem        89
987          lakhen     95
787          Mekkan     92

上述方法对我来说效果很好,但我希望查询具有单个匹配模式(使用单个like)。考虑 roll_no 是主键。请帮助我。

最佳答案

使用通配符 ( pattern matching ),

SELECT DISTINCT name from `Student` WHERE `name` REGEXP '[ae]'

关于mysql - 通过 SQL 根据匹配模式从表中检索名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20877154/

相关文章:

c#-4.0 - Oracle 查询在 C# 中不起作用

php - 如何在 Mysqli 准备语句中使用 PHP 常量

java - 设置查询获取的结果的格式以供显示

java - 如何在 android studio 中按类别对 recyclerview 项目进行分组

mysql - 合并表而不是相交

mysql - 使用 max()+1 问题插入和设置值

oracle11g - BYPASS_RECURSIVE_CHECK oracle 提示的目的?

sql - Oracle自动并行度的原因?

Php 在错误处理时重定向到错误的 URL(登录)

sql - 获取最近 90 天的记录 (SQL)