SQL学习之and和or运算符
目录
- 参考源
- SQL and & or 运算符
- 示例数据
- and 运算符
- or 运算符
- 结合 and 和 or
参考源
- 简单教程
- .html
- 菜鸟教程
- .html
SQL and & or 运算符
SQL 中的 and
或 or
运算符用于基于一个以上的条件对记录进行过滤
- 如果
第一个条件
和第二个条件
都成立,则and
运算符显示一条记录 - 如果
第一个条件
和第二个条件
中只要有一个成立,则or
运算符显示一条记录
示例数据
CREATE DATABASE IF NOT EXISTS hardy_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;USE hardy_db;DROP TABLE IF EXISTS lesson;CREATE TABLE lesson (id INT ( 11 ) NOT NULL PRIMARY KEY AUTO_INCREMENT,name VARCHAR ( 32 ) DEFAULT '',views INT ( 11 ) NOT NULL DEFAULT 0,created_at TIMESTAMP
);INSERT INTO lesson ( id, name, views, created_at )
VALUES( 1, 'Python3 基础教程', 981, '2019-03-18 13:52:03' ),( 2, 'JavaScript 基础教程', 73, '2019-03-18 16:03:32' ),( 3, 'Ruby 基础教程', 199, '2019-04-01 06:16:14' ),( 4, 'SQL 基础教程', 533, '2019-05-02 08:13:42' ),( 5, 'Linux 基础教程', 1000, '2019-06-02 08:13:42' );
and 运算符
下面的 SQL 语句从 “lesson
” 表中选取 views 大于 200 且 id 大于 2 的所有课程
select * from lesson where views >= 200 and id > 2;
运行以上 SQL 语句,输出结果如下
mysql> select * from lesson where views >= 200 and id > 2;
+----+--------------+-------+---------------------+
| id | name | views | created_at |
+----+--------------+-------+---------------------+
| 4 | SQL 基础教程 | 533 | 2019-05-02 08:13:42 |
+----+--------------+-------+---------------------+
1 row in set (0.00 sec)
or 运算符
下面的 SQL 语句从 “lesson
” 表中选取 views 大于 200 或 id 大于 2 的所有课程
select * from lesson where views >= 200 or id > 2;
运行以上 SQL 语句,输出结果如下
mysql> select * from lesson where views >= 200 or id > 2;
+----+------------------+-------+---------------------+
| id | name | views | created_at |
+----+------------------+-------+---------------------+
| 1 | Python3 基础教程 | 981 | 2019-03-18 13:52:03 |
| 3 | Ruby 基础教程 | 199 | 2019-04-01 06:16:14 |
| 4 | SQL 基础教程 | 533 | 2019-05-02 08:13:42 |
+----+------------------+-------+---------------------+
3 rows in set (0.00 sec)
结合 and 和 or
可以把 and
和 or
结合起来 (使用圆括号来组成复杂的表达式)
下面的 SQL 语句从 “lesson
” 表中选取 views 大于 200 且 id 等于 1 或 id 等于 3 的课程
select * from lesson where views > 200 and (id = 1 or id = 3);
运行以上 SQL ,输出结果如下:
mysql> select * from lesson where views > 200 and (id = 1 or id = 3);
+----+------------------+-------+---------------------+
| id | name | views | created_at |
+----+------------------+-------+---------------------+
| 1 | Python3 基础教程 | 981 | 2019-03-18 13:52:03 |
+----+------------------+-------+---------------------+
1 row in set (0.00 sec)
发布评论