首页 > 数据库 >MySQL必知必会第七章-数据过滤

MySQL必知必会第七章-数据过滤

时间:2023-01-13 11:35:24浏览次数:37  
标签:name 必知 子句 操作符 第七章 MySQL prod WHERE id

数据过滤

组合WHERE子句

操作符(operator) 用来联结或改变WHERE子句中的子句的关键字。也称为逻辑操作符(logical operator)。

AND操作符

为了通过不止一个列进行过滤,可使用AND操作符给WHERE子句附加条件:
SELECT prod_id, prod_price, prod_name FROM products WHERE vend_id = 1003 AND prod_price <= 10;
AND 用在WHERE子句中的关键字,用来指示检索满足所有给定条件的行。

OR操作符

OR操作符与AND操作符不同,它指示MySQL检索匹配任一条件的行:
SELECT prod_name, prod_price FROM products WHERE vend_id = 1002 OR vend_id = 1003;
OR WHERE子句中使用的关键字,用来表示检索匹配任一给定条件的行。

计算次序

WHERE可包含任意数目的AND和OR操作符。允许两者结合以进行复杂和高级的过滤。AND在计算次序中优先级更高。
SELECT prod_name, prod_price FROM products WHERE vend_id = 1002 OR vend_id = 1003 AND prod_price >= 10;
注意:

  • 在WHERE子句中使用圆括号 任何时候使用具有AND和OR操作符的WHERE子句,都应该使用圆括号明确地分组操作符。不要过分依赖默认计算次序。

IN操作符

IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配:
SELECT prod_name, prod_price FROM products WHERE vend_id IN (1002, 1003) ORDER BY prod_name;
IN操作符完成与OR相同的功能,其优点如下:

  • 在使用长的合法选项清单时,IN操作符的语法更清楚且更直观。
  • 在使用IN时,计算的次序更容易管理(因为使用的操作符更少)。
  • IN操作符一般比OR操作符清单执行更快。
  • IN的最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。

IN WHERE子句中用来指定要匹配值的清单的关键字,功能与OR相当。

NOT操作符

WHERE子句中的NOT操作符有且只有一个功能,那就是否定它之后所跟的任何条件。
SELECT prod_name, prod_price FROM products WHERE vend_id NOT IN (1002, 1003) ORDER BY prod_name;
NOT WHERE子句中用来否定后跟条件的关键字。
注意:
MySQL支持使用NOT对IN、BETWEEN和EXISTS子句取反,这与多数其他DBMS允许使用NOT对各种条件取反有很大的差别。

标签:name,必知,子句,操作符,第七章,MySQL,prod,WHERE,id
From: https://www.cnblogs.com/samsong1991/p/17048977.html

相关文章

  • Mysql,replace into,存在则更新,不存在则插入
    REPLACEINTO首先判断数据是否存在;如果不存在,则插入;如果已存在则更新(先删除再插入) 注意:根据主键或唯一索引判断记录是否已存在,所以插入数据的表必须要有主键或者唯......
  • 【学习日志】MongoDB为什么选择B树,而MySQL选择B+树实现索引
    先说B树和B+树的区别B树:非叶子节点也存储数据B+树:只有叶子节点存储数据,且所有叶子节点通过指针相连接。为什么MongoDB选择B树而,MySQL选择B+树呢?两种数据结构的区别摆在......
  • python-备份mysql数据库
    python-备份mysql数据库1.python-备份mysql数据库源码安装python3环境下载版本:https://www.python.org/downloads/source/wgethttps://www.python.org/ftp/pyth......
  • Mysql索引失效场景
    Mysql索引失效场景 序言 众所周知在Mysql中,通过使用索引的方式可以加快查询速度,从而避免全文搜索;而索引本身就像图书馆中所有书籍目录,通过查询关键字就能快速找......
  • python-pymysql-基本使用
    python-pymysql-基本使用1.pymysql-基本使用创建表[root@pythontmp]#mysql-h127.0.0.1-utest-p'Test@963852'WelcometotheMariaDBmonitor.Comma......
  • python-pymysql安装和数据库安装
    python-pymysql安装和数据库安装1.pymysql安装安装python连接数据库pymysql模块[root@python~]#pip3installPyMySQlLookinginindexes:http://mirror......
  • python-pymysql模块介绍
    python-pymysql模块介绍1.pymysql模块介绍pymysql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。pymysql......
  • python pymysql-增删改查
    pymysql-增删改查1.pymysql-增删改查#!/usr/bin/envpython3#_*_coding:utf-8_*_#Author:shichao#File:.pyimportpymysqlconn=pymysql.connect(host='1......
  • python pymysql-参数使用
    pymysql-参数使用1.pymysql-参数使用connect()函数常用参数:方法描述host数据库主机地址user数据库账户passwd账户密码db使用的数据库port......
  • MySQL8升级对备份的影响
    ​最近将MySQL5.7.26升级到8.0.27后,备份遇到了一些问题。升级采用的是使用复制节点的备份,使用perconaxtrabackup做的的物理备份。对于MySQL5.7,用的是PXB2.4做的物理备份......