SQL 03
来源:互联网 发布:淘宝小号交易平台源码 编辑:程序博客网 时间:2024/06/05 05:40
过滤数据 :根据搜索条件(filter condition)检索数据
Where 子句(在from之后): 会根据该句中的条件进行过滤
如: select prod_name,prod_price from products where prod_price= 3.49;
–检索两列,输出prod_price=3.49的行
在同时使用order by 子句和where子句时,order by子句应该放在where 之后,否则会产生错误
Where子句操作符
= !=
< <=
=
!> 不大于
!< 不小于
Between 在2个值之间
Is null 为null的值
如:
SELECT prod_name,prod_price from products where prod_price<10;
SELECT prod_name,vend_id FROM products WHERE vend_id!=’DLL01’;
AND 关键字和Between的使用:
如 Select prod_name,prod_price from products where prod_price between 5 and 10;
NULL no value 与字段包含0 空字符串和空格不同,指空值
Select prod_name from products where prod_price is null;
SELECT cust_name FROM customers WHERE cust_email IS NULL;
组合where子句: sql允许给出多个where子句,这些子句有两种使用方式,以and子句和or子句方式使用。
操作符: 用来联结和改变where子句中的子句的关键字,也称为逻辑操作符。
AND操作符:
SELECT prod_id ,prod_price,prod_name FROM products WHERE vend_id=’DLL01’ AND prod_price<=4 ;
OR 操作符:
SELECT prod_name,prod_price FROM products WHERE vend_id =’DLL01’ OR vend_id=’BRS01’
求值顺序 当or和and一起使用时,and的优先级会更高
如:
SELECT prod_name ,prod_price FROM products WHERE
Vend_id = ‘DLL01’ OR vend_id = ‘BRS01’ AND prod_price >=10;
会先过滤
vend_id = ‘BRS01’ AND prod_price >=10
再过滤
Vend_id = ‘DLL01’
会产生歧义,所以要用括号进行分组,避免歧义
SELECT prod_name ,prod_price FROM products WHERE
(Vend_id = ‘DLL01’ OR vend_id = ‘BRS01’) AND prod_price >=10;
IN 操作符 用来指定条件范围,范围中的每个条件都可以进行匹配
如:
SELECT prod_name ,prod_price FROM products WHERE
Vend_id IN ( ‘DLL01’ , ‘BRS01’)ORDER BY prod_name;
匹配vend_id 在圆括号的任意值,简化了or操作符的使用
NOT 操作符 where子句中的not只有一个功能即否定其后跟的任何条件,不单独使用
如:
SELECT prod_name , Vend_id FROM products WHERE
NOT Vend_id = ‘DLL01’ ORDER BY prod_name;
SELECT prod_name ,prod_price FROM products WHERE
NOT Vend_id IN ( ‘DLL01’ , ‘BRS01’)ORDER BY prod_name;
–not操作符与in连接使用非常方便。
用通配符进行过滤
通配符:用来匹配值得一部分的特殊字符,仅使用于文本字段搜索模式:由字面值或者两者组合构成的搜索条件。
LIKE操作符
百分号通配符%
如 SELECT prod_id ,prod_name FROM products WHERE prod_name LIKE ‘Fish%’;
–找出prod_name中以Fish开头的数据,其中’Fish%’就是搜索模式
–在mysql中搜索模式不区分大小写
SELECT prod_id ,prod_name FROM products WHERE prod_name LIKE '%bean bag%';
–找出prod_name中包含’bean bag‘的数据
WHERE PROD_NAME LIKE ‘%’
–不会匹配null值的数据
下划线_通配符
如:
SELECT prod_id ,prod_name FROM products WHERE prod_name LIKE ‘__ inch teddy bear’;
–2个下划线通配符
–1个下划线对应一个字符
方括号 [] 通配符
–SELECT cust_contact FROM customers WHERE cust_contact LIKE ‘[JM]%’ ;
–匹配J或M开头的cust_contact数据
在mysql中不起作用,mysql中的【】是正则表达式方式
- 03SQL
- SQL 03
- 精通SQL命令-03
- 03SQL编程
- 03、pl/sql小结
- PL/SQL 注意03
- Sql基础练习03
- SQL详讲03
- 03-region.sql
- SQL
- SQL
- SQL
- sql
- sql
- SQL
- sql
- SQL (-)
- sql
- React Native学习网址
- Windows环境下IOS APP打包上传AppStore详细流程
- response.suggestedFilename乱码
- Android-UI绘制分析02
- 阿里SopHix热修复框架接入
- SQL 03
- Elasticsearch运行报错:java.lang.ClassCastException: org.joda.time.DateTime cannot be cast to org.elastic
- Xamarin.Android 实现正在加载动画效果
- windows 下vscode快捷键大全
- ActorLite:一个轻量级Actor模型实现(下)
- beego框架之路由实践
- C# MongoDB
- 统计文件的行数
- 栈的应用之中缀表达式求值