MySQL 如何在创建MySQL视图时使用逻辑运算符?
使用逻辑运算符如AND、OR和NOT可以创建MySQL视图,下面是一些示例。
阅读更多:MySQL 教程
带AND运算符的视图
我们知道逻辑AND运算符比较两个表达式,如果两个表达式都为真则返回true。在下面的示例中,我们创建了一个带有基于AND运算符的条件的视图。
示例
基本表为Student_info,包含以下数据 –
mysql> Select * from Student_info;
+------+---------+------------+------------+
| id | Name | Address | Subject |
+------+---------+------------+------------+
| 101 | YashPal | Amritsar | History |
| 105 | Gaurav | Chandigarh | Literature |
| 125 | Raman | Shimla | Computers |
| 130 | Ram | Jhansi | Computers |
| 132 | Shyam | Chandigarh | Economics |
| 133 | Mohan | Delhi | Computers |
+------+---------+------------+------------+
6 rows in set (0.00 sec)
mysql> Create or Replace View Info AS select ID, Name, Address , Subject FROM Student_info WHERE (Subject = 'Computers' AND ADDRESS = 'DELHI');
Query OK, 0 rows affected (0.13 sec)
mysql> Select * from Info;
+------+-------+---------+-----------+
| ID | Name | Address | Subject |
+------+-------+---------+-----------+
| 133 | Mohan | Delhi | Computers |
+------+-------+---------+-----------+
1 row in set (0.00 sec)
带OR运算符的视图
我们知道逻辑OR运算符比较两个表达式,如果至少有一个表达式为真,则返回true。在下面的示例中,我们创建了一个带有基于OR运算符的条件的视图。
示例
mysql> Create or Replace View Info AS select ID, Name, Address , Subject FROM Student_info WHERE (Subject = 'Computers' OR ADDRESS = 'Amritsar');
Query OK, 0 rows affected (0.06 sec)
mysql> Select * from Info;
+------+---------+----------+-----------+
| ID | Name | Address | Subject |
+------+---------+----------+-----------+
| 101 | YashPal | Amritsar | History |
| 125 | Raman | Shimla | Computers |
| 130 | Ram | Jhansi | Computers |
| 133 | Mohan | Delhi | Computers |
+------+---------+----------+-----------+
4 rows in set (0.00 sec)
带NOT运算符的视图
NOT是唯一只有一个操作数的运算符。如果操作数为TRUE,它返回0;如果操作数为FALSE,它返回1。在下面的示例中,我们创建了一个带有基于NOT运算符的条件的视图。
示例
mysql> Create or Replace View Info AS select ID, Name, Address , Subject FROM Student_info WHERE Subject != 'Computers';
Query OK, 0 rows affected (0.06 sec)
mysql> Select * from info;
+------+---------+------------+------------+
| ID | Name | Address | Subject |
+------+---------+------------+------------+
| 101 | YashPal | Amritsar | History |
| 105 | Gaurav | Chandigarh | Literature |
| 132 | Shyam | Chandigarh | Economics |
+------+---------+------------+------------+
3 rows in set (0.00 sec)
极客教程