MySQL 如何正确封闭子查询
您需要在括号中关闭子查询,语法如下:
select if((select count(*) from yourTableName ),'Yes','No') as anyAliasName;
为了理解上述语法,让我们创建一个表。创建表的查询如下 –
mysql> create table SelectIfDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(10)
-> );
Query OK, 0 rows affected (1.03 sec)
使用插入命令在表中插入一些记录。查询如下 –
mysql> insert into SelectIfDemo(Name) values('John');
Query OK, 1 row affected (0.21 sec)
mysql> insert into SelectIfDemo(Name) values('Carol');
Query OK, 1 row affected (0.17 sec)
mysql> insert into SelectIfDemo(Name) values('Larry');
Query OK, 1 row affected (0.12 sec)
mysql> insert into SelectIfDemo(Name) values('Bob');
Query OK, 1 row affected (0.22 sec)
mysql> insert into SelectIfDemo(Name) values('Sam');
Query OK, 1 row affected (0.15 sec)
现在,您可以使用select语句显示表中的所有记录。查询如下 –
mysql> select *from SelectIfDemo;
以下是输出内容 –
+----+-------+
| Id | Name |
+----+-------+
| 1 | John |
| 2 | Carol |
| 3 | Larry |
| 4 | Bob |
| 5 | Sam |
+----+-------+
5 rows in set (0.00 sec)
这是在括号内使用子查询的正确方法。查询如下 –
mysql> select if((select count(*) from SelectIfDemo),'Yes','No') as Result;
以下是输出内容 –
+--------+
| Result |
+--------+
| Yes |
+--------+
1 row in set (0.00 sec)
阅读更多:MySQL 教程