第一周(MySQL关键字总结)

关键字

SELECT语句

SELECT 语句用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。
语法:
SELECT column_name,column_name FROM table_name;
SELECT * FROM table_name;

1. DISTINCT 关键字

在表中,一个列可能会包含多个重复值,DISTINCT 关键词用于返回唯一不同的值
语法:
SELECT DISTINCT column_name,column_name FROM table_name;
注:DISTINCT 关键字应用于所有列而不仅是前置它的列

2. LIMIT 子句

为了返回第一行或前几行,可使用 LIMIT 子句
两种用法:
LIMIT m; 返回不超过 m 行
LIMIT m, n; 从第 m 行开始,反回 n 行数据,等价于 LIMIT n OFFSET m;

3. ORDER BY 子句

ORDER BY 子句取一个或多个列的名字,据此对输出进行排序。默认按照字母顺序排列和数字升序排列。
可指定排列顺序:
降序排列使用关键字DESC,升序排列使用关键字ASC
注:DESC只应用在位于其前面的列上,其他列(非重复数值)仍按照标准升序排列

4. WHERE 子句
  • WHERE 子句在表名( FROM 子句)之后给出
  • 在同时使用 ORDER BY 和 WHERE 子句时,应该让 ORDER BY 位于 WHERE 之后,否则将会产生错误

WHERE 子句操作符
= 等于:可用于检查单个值
<= 小于等于:同上
> 大于:同上
>= 大于等于:同上
< 小于:同上
<> 不等于:可用于不匹配检查
!= 不等于:同上
BETWEEN 在指定的两个值之间(闭区间)

空值检验
SELECT 语句有一个特殊的 WHERE 子句,可用来检查具有 NULL 值的列。这个WHERE 子句就是 IS NULL 子句

5. GROUP BY 关键字

为了把数据分为多个逻辑组,以便能对每个组进行聚集计算。SELECT 语句的 GROUP BY 子句可以创建分组。
例:

输入
SELECT vend_id, count(*) AS num_prods
FROM products
GROUP BY vend_id;

输出
vend_id  num_prods
-------  ---------
1001        3
1002        2
1003        7
1005        2

解释:num_prods 为计算字段(用 COUNT(*) 函数建立)。 GROUP BY 子句指示MySQL按 vend_id 排序并分组数据,vend_id 为要分组的列。这只会对每个 vend_id 计算而不是整个表计算 num_prods 一次

注:
1.GROUP BY 子句可以包含任意数目的列
2.在建立分组时,指定的所有列都一起计算
3.GROUP BY 子句中的列必须是要分组的列或表达式(不能是聚集函数)。如果在 SELECT 中使用表达式,则必须在 GROUP BY 子句中指定相同的表达式。不能使用别名
4.除聚集计算语句外, SELECT 语句中的每个列都必须在 GROUP BY 子句中给出
5.如果分组列中具有 NULL 值,则 NULL 将作为一个分组返回。如果列中有多行 NULL 值,它们将分为一组
6.GROUP BY 子句必须出现在 WHERE 子句之后, ORDER BY 子句之前

6. HAVING

HAVING 可以过滤分组。包括哪些分组,排除哪些分组

HAVING 和 WHERE 的异同:

  • 区别:唯一的差别是 WHERE 过滤行,而 HAVING 过滤分组(这里有另一种理解方法, WHERE 在数据分组前进行过滤, HAVING 在数据分组后进行过滤)
  • 相同:所学过的有关 WHERE 的所有这些技术和选项(包括通配符条件和带多个操作符的子
    句)都适用于HAVING
7. AND OR IN NOT 操作符
  • AND
    为了通过不止一个列进行过滤,可使用 AND 操作符连接 WHERE 子句的多个条件

  • OR
    OR 操作符,它让MySQL检索匹配任一条件的行,OR 连接多个条件

注:当 AND 和 OR 同时使用在 WHERE 子句中时,可进行复杂过滤。此时应先进行 AND 计算,再进行 OR 计算,因为 AND 优先级更高,可用圆括号()更改计算顺序

  • IN
    IN 操作符用来指定条件范围,范围中的每个条件都可以进行匹配。 IN 取合法值的由逗号分隔的清单,全都括在圆括号中

注:IN 操作符完成与 OR 相同的功能

IN 操作符优点:
a. IN 操作符的语法更清楚且更直观。
b. 计算的次序更容易管理。
c. IN 一般比 OR 执行更快。
d. IN 可以包含其他 SELECT 语句,能够更动态地建立 WHERE 子句

  • NOT
    WHERE 子句中的 NOT 操作符有且只有一个功能,那就是否定它之后所跟的任何条件。

注:MySQL支持使用 NOT 对 IN 、 BETWEEN 和EXISTS子句取反,这与多数其他 DBMS允许使用 NOT 对各种条件取反有很大的差别

SELECT 完全语法:

SELECT [ALL|DISTINCT|DISTINCTROW|TOP]
  {|talbe.|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}
FROM table_source
  [ WHERE search_condition ]
  [ GROUP BY group_by_expression ]
  [ HAVING search_condition ]
  [ ORDER BY order_expression [ ASC | DESC ] ]

执行步骤:
1.先从 FROM 字句一个表或多个表创建工作表
2.将 WHERE 条件应用于 1 的工作表,保留满足条件的行
3.GROUP BY 将 2 的结果分成多个组
4.HAVING 将条件应用于 3 组合的条件过滤,只保留符合要求的组。
5.ORDER BY 对结果进行排序。

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

推荐阅读更多精彩内容