sql请写出在“学生表”中查找学号的倒数第二位在2~5之间的同学的姓名和学号
时间: 2024-02-18 09:02:28 浏览: 175
好的,以下是 SQL 查询语句:
```
SELECT name, id FROM student WHERE SUBSTR(id, LENGTH(id)-1, 1) BETWEEN '2' AND '5';
```
解析:
- `SELECT name, id`:查询结果包含同学的姓名和学号。
- `FROM student`:在学生表中进行查询。
- `SUBSTR(id, LENGTH(id)-1, 1)`:`SUBSTR()` 函数截取学号的倒数第二位,`LENGTH()` 函数获取学号长度,再减去 1,就是学号的倒数第二位的下标。最后一个参数 1 表示截取的长度为 1。
- `BETWEEN '2' AND '5'`:查询学号的倒数第二位在 2~5 之间的同学。注意,使用 `BETWEEN` 时,两个值都是包含在查询范围内的。
相关问题
请写出在“学生表”中查找学号的倒数第一位在2~5之间的同学的姓名和学号
好的,以下是 SQL 查询语句:
```
SELECT name, id FROM student WHERE SUBSTR(id, -1) BETWEEN '2' AND '5';
```
解析:
- `SELECT name, id`:查询结果包含同学的姓名和学号。
- `FROM student`:在学生表中进行查询。
- `SUBSTR(id, -1)`:`SUBSTR()` 函数截取学号的倒数第一位,`-1` 表示从后往前数第一位。
- `BETWEEN '2' AND '5'`:查询学号的倒数第一位在 2~5 之间的同学。注意,使用 `BETWEEN` 时,两个值都是包含在查询范围内的。
查询学生表中学号倒数第二个数字为0的学生学号、姓名及专业。
好的,您可以使用以下 SQL 语句来查询:
```sql
SELECT 学号, 姓名, 专业
FROM 学生表
WHERE 学号 LIKE '%0_'
OR 学号 LIKE '%0'
ORDER BY 学号 DESC
LIMIT 1 OFFSET 1;
```
其中 `%` 表示通配符,匹配任意字符,`_` 表示匹配单个字符。`LIKE` 关键字可以用来匹配符合条件的学号。`ORDER BY` 关键字用于按照学号降序排列,`LIMIT` 和 `OFFSET` 用于查询倒数第二个学号。
阅读全文