使用 AND 和 OR 运算符来返回多行的 MySQL 查询
我们先创建一个表 -
mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(40), StudentMathMarks int, StudentMySQLMarks int, status ENUM('ACTIVE','INACTIVE') ); Query OK, 0 rows affected (0.47 sec)
用 insert 命令在表中插入一些记录 -
mysql> insert into DemoTable(StudentName,StudentMathMarks,StudentMySQLMarks,status) values('Chris',45,67,'active'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable(StudentName,StudentMathMarks,StudentMySQLMarks,status) values('Bob',89,78,'inactive'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable(StudentName,StudentMathMarks,StudentMySQLMarks,status) values('David',56,68,'active'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable(StudentName,StudentMathMarks,StudentMySQLMarks,status) values('Robert',68,75,'active'); Query OK, 1 row affected (0.18 sec)
使用 select 语句从表中显示所有记录 -
mysql> select *from DemoTable;
会产生以下输出 -
+-----------+-------------+------------------+-------------------+----------+ | StudentId | StudentName | StudentMathMarks | StudentMySQLMarks | status | +-----------+-------------+------------------+-------------------+----------+ | 1 | Chris | 45 | 67 | ACTIVE | | 2 | Bob | 89 | 78 | INACTIVE | | 3 | David | 56 | 68 | ACTIVE | | 4 | Robert | 68 | 75 | ACTIVE | +-----------+-------------+------------------+-------------------+----------+ 4 rows in set (0.00 sec)
以下是使用 AND 和 OR 运算符返回多个行记录的查询 -
mysql> select *from DemoTable where status='active' and (StudentMathMarks=68 or StudentMySQLMarks=67);
会产生以下输出 -
+-----------+-------------+------------------+-------------------+--------+ | StudentId | StudentName | StudentMathMarks | StudentMySQLMarks | status | +-----------+-------------+------------------+-------------------+--------+ | 1 | Chris | 45 | 67 | ACTIVE | | 4 | Robert | 68 | 75 | ACTIVE | +-----------+-------------+------------------+-------------------+--------+ 2 rows in set (0.00 sec)
广告