11)-- 不用like进行模糊查询,改用字符串函数来精确查询刘老师的个人信息 提示:刘老师也可以理解成老师的姓名的第一个字符是“刘”,这可以借助MySQL提供的某个(些)字符串函数来实现。 12)-- 不用like进行模糊查询,改用字符串函数来查询所有名字是“某军”的老师。
时间: 2024-10-16 10:10:28 浏览: 25
在MySQL中,如果不用LIKE关键字进行模糊查询,我们可以利用字符串函数来实现精确匹配。例如:
11)对于精确查找姓“刘”的老师信息,我们可以使用`SUBSTRING_INDEX()`函数,它可以从一个字符串中返回指定分隔符之前的部分。假设老师的姓名字段名为`teacher_name`,可以这样写查询:
```sql
SELECT * FROM teachers
WHERE SUBSTRING_INDEX(SUBSTRING_INDEX(teacher_name, ' ', -1), ' ', 1) = '刘';
```
这里假设老师的名字是以空格分隔的,最后一位字是姓氏。
12)同样地,要查询全名包含“某军”字样的老师,可以使用`LIKE`结合通配符 `%`,不过既然题目要求不用`LIKE`,可以用`INSTR()`函数找出“某军”在姓名中的位置,如下所示:
```sql
SELECT * FROM teachers
WHERE INSTR(teacher_name, '某军') > 0;
```
这个查询会返回所有名字中包含“某军”字样的老师。请注意,这种方法并不一定完全准确,因为如果有老师名字全称就是“某军”,则该条件将匹配到。
阅读全文