WHERE

位于 FROM 子句之后,但紧挨着 FROM 子句,用于对操作的数据进行过滤
—— 只有满足条件的行才会被操作

逻辑判断

常用的逻辑判断有:

=:等于
>:大于
<:小于
!= 或 <>:不等于
>= 或 !<:大于等于

这些逻辑判断可以用于字符串,SQL中字符串用单引号或双引号括起来即可。如:

SELECT * FROM demo WHERE name!='HotKey';

查询所有 name 不为 HotKey 的行。

BETWEEN AND

用于指定某个值位于的区间。该区间为闭区间。

BETWEEN x AND y:在指定的 x , y 之间。

SELECT * FROM demo WHERE name BETWEEN 'H' AND 'J'

查询所有 name 位于 H 与 J 之间的行。

其得到的结果为:

image.png

从结果可以看出:BETWEEN AND 不代表 name 只能取 H, I, J 中的一种,它会得到所有以 H, I 开头的行和 name 为 J 的行。因为按字典排序时,"HXX",“IXX"是大于 H,但小于 J 。

IS NULL

用于获取值为 NULL 的行

没有赋值,或赋值为 null 的值会满足 IS NULL 条件。

SELECT * FROM demo WHERE hint IS NULL;

该语句会查询 hint 为 null 的行。

LIKE 与通配符

LIKE 用于 WHERE 字句中进行通配符匹配。

%:除了null外,表示任意字符出现任意次数 —— 0次、1次和多次

_:表示任意字符,但是该字符能且只能出现一次

SELECT * FROM demo WHERE hint LIKE "http://%";

查找的 hint 需以 http:// 开头。如果写成 %http://% ,则表示 hint 中只要含有 http:// 即可。

SELECT * FROM demo WHERE name LIKE "__";

__ 是两个 _,它表示两个字符。因此,上述语句表示操作 name 为两个字符的行 。

注意事项

1,通配符只能用于字符串

2,尽量不使用通配符,能用其它方法实现的查询就不要使用通配符,这是因为通配符查询起来非常消耗性能。

3,必须使用通配符时,也尽量将通配符放在查询条件的最后

IN

指定属性所有可能的取值,只要满足范围中的某一个就可以匹配成功。IN 取一组由逗号分隔,括在圆括号内的合法值。

如:

SELECT * FROM animals WHERE weight IN (2,20) ;

其表示 weight 要么为 2,要么为20。而不能取 2,20 中间的某个数。


AND OR

上述的几个关键字主要用于某个条件的建立,而 AND OR 主要用于多个 WHERE 条件的连接

  1. AND 表示与关系,连接的两个 WHERE 条件必须同时满足才行。

  2. OR 表示或关系,连接的两个 WHERE 条件中有一个成立即可。

  3. AND 的优先级高于 OR。可以使用 () 进行逻辑分组。

SELECT  * FROM demo WHERE name="HotKey" AND hint LIKE "run%"

该条语句查找的行必须满足 name="HotKey" ,同时也必须满足 hint LIKE "run%"。

SELECT * FROM demo WHERE name="HotKey" OR hint LIKE "http%"

该条语句查找的行只需要满足两个 WHERE 条件之一即可。

NOT

否定紧跟其后的条件

NOT 只否定其后紧跟的一个条件。而不是否定其后所有的条件。

SELECT *  FROM animals WHERE NOT weight IN (2,5)  AND name =  'Critters'

所查询的列,weight 不能是 2 或 5,同时 name 必须是 Critters。

可以看出NOT只否定了第一条,并没有否定name='Critters'。如果改成

SELECT * FROM animals WHERE NOT weight IN (2,5) AND NOT name = 'Critters'

则表示 weight 不能是 2 或 5,同时 name 不能是 Critters。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容