mysql深入理解二
2012-10-19 10:15
239 查看
过滤数据
本章讲授如何使用select语句的where 子句指定的搜索条件。数据库表一般包含
大量的数据,很少需要检索表中所有的行。通常只会根据特定操作或报告的需要
提取数据的子集。只检索所需数据需要的指定搜索条件(search criteria) ,搜索条
件也称为过滤条件(filter condition)。
selecct prod_name ,prod_price from products where prod_price = 2.50;
这条语句从products 表中检索两个列,但不返回所有行,只返回prod_price
值为2.50 的行。
where 子句的位置 在同时使用order by 和where 子句的时侯,应该让order by
位于where 之后,否则将会产生错误。
1 and操作符
为了不止一个列进行过滤,可使用and操作符给where子句附加条件
select prod_id ,prod_price ,prid_name from products
where vend_id = 1003 and prod_price <= 10;
此sql语句检索由供应商1003 制造且价格小于等于 10 美元的所有产品的名称
和价格。
上述例子中使用了只包含一个关键字的and 的语句,把连个过滤条件组合在一
起。还可以添加多个过滤条件,没添加一条就要使用一个and。
2 or操作符
or操作符与and不同,它指示mysql检索匹配任一条件的行。
select prod_name ,prod_price from products where vend_id = 1002 or vend_id
=1003;
此sql语句检索由任一个指定供应商1002 或者1003制造的所有产品的产品名和价
格。
select prod_name,prod_price from products
where vend_id =1002 or vend_id = 1003 and prod_price >=10;
和
select prod_name,prod_price from products
where (vend_id =1002 or vend_id = 1003) and prod_price >=10;
结果可能不一样,因为and的优先级比or高;
3 in操作符
圆括号在where 子句中还有另外一种用法。in操作符用来指定条件范围,范围中
的每个条件都可以进行匹配。in 取合法值的由逗号分隔的清单全部都在圆括号中
。
select prod_name,prod_price from products where vend_id in(1002 ,1003) order
by prod_ name;
in的功能和or一样
4 not操作符
where 子句中的not 操作符有且只有一个功能,那即使否定它之后跟的任何条件。
select prod_name ,prod_price from products where vend_id not in (1002, 1003)
order by prod_name;
本章讲授如何使用select语句的where 子句指定的搜索条件。数据库表一般包含
大量的数据,很少需要检索表中所有的行。通常只会根据特定操作或报告的需要
提取数据的子集。只检索所需数据需要的指定搜索条件(search criteria) ,搜索条
件也称为过滤条件(filter condition)。
selecct prod_name ,prod_price from products where prod_price = 2.50;
这条语句从products 表中检索两个列,但不返回所有行,只返回prod_price
值为2.50 的行。
where 子句的位置 在同时使用order by 和where 子句的时侯,应该让order by
位于where 之后,否则将会产生错误。
1 and操作符
为了不止一个列进行过滤,可使用and操作符给where子句附加条件
select prod_id ,prod_price ,prid_name from products
where vend_id = 1003 and prod_price <= 10;
此sql语句检索由供应商1003 制造且价格小于等于 10 美元的所有产品的名称
和价格。
上述例子中使用了只包含一个关键字的and 的语句,把连个过滤条件组合在一
起。还可以添加多个过滤条件,没添加一条就要使用一个and。
2 or操作符
or操作符与and不同,它指示mysql检索匹配任一条件的行。
select prod_name ,prod_price from products where vend_id = 1002 or vend_id
=1003;
此sql语句检索由任一个指定供应商1002 或者1003制造的所有产品的产品名和价
格。
select prod_name,prod_price from products
where vend_id =1002 or vend_id = 1003 and prod_price >=10;
和
select prod_name,prod_price from products
where (vend_id =1002 or vend_id = 1003) and prod_price >=10;
结果可能不一样,因为and的优先级比or高;
3 in操作符
圆括号在where 子句中还有另外一种用法。in操作符用来指定条件范围,范围中
的每个条件都可以进行匹配。in 取合法值的由逗号分隔的清单全部都在圆括号中
。
select prod_name,prod_price from products where vend_id in(1002 ,1003) order
by prod_ name;
in的功能和or一样
4 not操作符
where 子句中的not 操作符有且只有一个功能,那即使否定它之后跟的任何条件。
select prod_name ,prod_price from products where vend_id not in (1002, 1003)
order by prod_name;
相关文章推荐
- MySql学习(七) —— 查询性能优化 深入理解MySql如何执行查询
- 深入理解MySQL 5.7 GTID系列(四):mysql.gtid_executed&PREVIOUS GTID EVENT
- [深入理解MySQL系列] - mysqldump的几个主要选项探究
- MySql学习(七) —— 查询性能优化 深入理解MySql如何执行查询
- MySql学习(七) —— 查询性能优化 深入理解MySql如何执行查询
- 深入理解mysqldump参数 --single-transaction --lock-all-tables
- 深入理解mysqldump原理 --single-transaction --lock-all-tables --master-data
- 深入理解MySQL中的Redo、Undo、MVCC
- mysql深入理解
- 深入理解Mysql——锁、事务与并发控制
- 深入理解Mysql字符集设置
- 深入理解mysql之left join 使用详解
- 深入理解用mysql_fetch_row()以数组的形式返回查询结果
- MySql学习(七) —— 查询性能优化 深入理解MySql如何执行查询
- MySQL中group_concat函数深入理解
- MySQL 深入理解索引B+树存储 (二)
- MySql学习(七) —— 查询性能优化 深入理解MySql如何执行查询
- MySql学习(七) —— 查询性能优化 深入理解MySql如何执行查询
- MySQL中group_concat函数深入理解
- 基于mysql全文索引的深入理解