SQL学习日记(3)

目录

高级过滤

And

Or

求值顺序

In

  in较or的优点

Not

用通配符进行过滤

百分比%

注意

下划线_

方括号[]

 注意

通配符使用代价


高级过滤

组合where子句,即以and、or子句结合使用

And

Select 列名1,列名2...

From 表名

where 列名1=’条件’ and 列名2=’条件’...;--可继续添加order by字段对输出结果进行排序

Or

与and类似,只是or只要满足其中任意条件即可

求值顺序

优先级--()>and>or,可将and和or结合进行过滤

In

其功能与or一致,用来指定条件范围,范围中每个条件可以进行匹配,取一组用逗号分隔、括在圆括号中的合法值。如:where 列名 in (‘条件1’,’条件2’)

  in较or的优点

                 1.in更清楚、更直观

                 2.在与and、or操作符组合使用In时,求值顺序更易管理

                 3.In一般比or执行更快

                 4.in可包含其他select语句,更好地动态建立where子句

Not

否定其后所跟的任何条件,不单独进行使用,与其他操作符联合使用。其既可以在过滤列之前,也可以在过滤列之后。如:where not 列名=’条件’/where <>列名=’条件’

用通配符进行过滤

前面所学的操作符是针对已知值进行过滤,而对于文本字段的过滤通配符可以创建比较特定数据的搜索模式。且必须使用操作符like搭配使用

百分比%

其表示任何字符出现任意次数

Select 列名1,列名2...

From 表名

where 列名1 like ’条件%’ ;

注意

1.%告诉我们DBMS接受条件之后的任意字符,不管它有多少字符。

2.根据DBMS的不同及配置,搜索可以区分大小写

3.通配符的可在搜索模式中的任意位置使用,并可以使用多个通配符。如:%条件%表示匹配任何位置上包含条件的值

4.若将%放条件中间,对于搜索电子邮件地址十分有用

5.请注意空格,如’F%y’只匹配以F开头,以y结尾的字段,若值后面是以空格结尾(Fish toy ),则不能识别出来。解决办法有:再添加’F%y%’;利用函数去掉空格

6.%不会匹配null,r如:where 列名1 like ’%’ ;不会匹配名称为null的行

下划线_

其用途与%一样,但它只匹配单个字符,而不是多个字符。如:where 列名 like ‘_ inch’;结果将会返回8 inch,而不会返回12 inch

方括号[]

用来指定一个字符集,必须匹配特定位置的一个字符。如:查找出以J或M开头的联系人

Select cust_contanct

From customs

Where cust_contact like ‘[JM]%’;

 注意

1.[JM]可匹配其中任意一个字符,即有且只能匹配单个字符

2.若使用[^JM]%,则返回除了JM以外所有的结果

通配符使用代价

1.不要过度使用通配符,消耗更多的处理时间

2.若要使用通配符,则不要将其置于搜索模式的开始处,降低搜索速度

3.注意通配符的位置,若放错地方,将会返回不需要的结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值