mysql中select * from A where "a" = '1'
时间: 2024-02-21 10:58:30 浏览: 27
这个查询语句的意思是从表A中选择所有的列,然后筛选出"a"等于1的行。
但是,在这个查询语句中,双引号被用来包裹"a",通常情况下我们使用单引号来包裹字符串常量。如果将查询语句修改为如下形式:
```sql
SELECT * FROM A WHERE 'a' = '1'
```
则查询结果会返回A表中所有列,因为'a'和'1'是两个不同的字符串常量,它们永远不会相等,所以查询条件永远不会成立。
因此,如果你想要查询A表中"a"字段等于1的行,应该使用如下语句:
```sql
SELECT * FROM A WHERE a = '1'
```
这里使用了单引号来包裹字符串常量,同时将"a"作为字段名进行筛选。
相关问题
1242 - Subquery returns more than 1 row mysql> select * from student where sno=(
1242 - Subquery returns more than 1 row异常是因为子查询返回的结果集包含多行数据。在使用等于号(=)时,子查询必须只返回一个值,否则会报错。可以使用in关键字来替代等于号,以允许子查询返回多行数据。
示例:
mysql> select * from score
-> where sno in (select sno from student where ssex="男")
-> and cno in (select cno from course where cname="计算机导论");
±----±------±------
| sno | cno | grade |
±----±------±------
| 101 | 3-105 | 92 |
| 102 | 3-105 | 91 |
| 104 | 3-105 | 89 |
| 109 | 3-105 | 76 |
±----±------±------
4 rows in set (0.00 sec)
解释以下代码Create procedure proc123(age int) BEGIN Select * from 员工 where 员工年龄 = age; END
这是一段 MySQL 存储过程的代码,其中:
- `Create procedure proc123(age int)` 表示创建一个名为 `proc123` 的存储过程,并且该存储过程需要一个整型参数 `age`。
- `BEGIN` 和 `END` 之间的部分是存储过程的主体。在这里,它包含了一个查询语句 `Select * from 员工 where 员工年龄 = age`。该语句的含义是从 `员工` 表中选择所有年龄等于参数 `age` 的记录。
- 存储过程的作用是将查询语句封装起来,方便在需要多次使用相同查询语句的情况下,直接调用存储过程,避免了重复编写相同的查询语句的麻烦,提高了代码的可维护性和可读性。