能在MySQL查询中同时使用WHERE、AND和OR吗?

能在MySQL查询中同时使用WHERE、AND和OR吗?

可以,我们可以在一个查询中同时使用它们。让我们首先创建一个表:

mysql> create table DemoTable 
  (
  StudentId int,
  StudentFirstName varchar(20),
  StudentLastName varchar(20),
  StudentAge int
  );
Query OK, 0 rows affected (0.53 sec)

使用INSERT命令向表中插入记录:

mysql> insert into DemoTable values(100,'John','Smith',23);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(101,'Carol','Taylor',24);
Query OK, 1 row affected (0.62 sec)
mysql> insert into DemoTable values(103,'John','Doe',22);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values(104,'Adam','Smith',23);
Query OK, 1 row affected (0.18 sec)

使用SELECT语句显示表中的所有记录:

mysql> select * from DemoTable;

这将产生以下输出:

+-----------+------------------+-----------------+------------+
| StudentId | StudentFirstName | StudentLastName | StudentAge |
+-----------+------------------+-----------------+------------+
| 100       | John             | Smith           | 23         |
| 101       | Carol            | Taylor          | 24         |
| 103       | John             | Doe             | 22         |
| 104       | Adam             | Smith           | 23         |
+-----------+------------------+-----------------+------------+
4 rows in set (0.00 sec)

以下是使用MySQL WHERE、AND和OR在一个查询中获取记录的查询:

mysql> select * from DemoTable
where StudentFirstName='John' AND StudentLastName='Doe' OR StudentAge=26;

这将产生以下输出:

+-----------+------------------+-----------------+------------+
| StudentId | StudentFirstName | StudentLastName | StudentAge |
+-----------+------------------+-----------------+------------+
| 103       | John             | Doe             | 22         |
+-----------+------------------+-----------------+------------+
1 row in set (0.00 sec)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程