大学生和转行者应如何有效学习SQL语法?
1、 函数功能
2、 LIKE 是用于 WHERE 子句中的另一个常用操作符。
3、 LIKE 可根据特定模式匹配,帮助我们查找符合该模式的所需数据。
4、 使用IN时,我们通常已明确知晓所需的具体条件。
5、 使用 BETWEEN 时,需指定一个连续的数值或时间范围。
6、 LIKE语句的语法为:SELECT 字段名 FROM 表名 WHERE 字段名 LIKE {模式},用于模糊匹配查询数据。
7、 将上述最终示例应用于表格中。
8、 存储信息的数据表结构
9、 我们进攻
10、 使用LIKE时需特别留意通配符的用法
11、 A_Z表示以字母A开头、Z结尾,且中间仅包含一个任意字符的字符串。例如ABZ和A2Z均满足该模式,而AKKZ不符合要求,因其在A与Z之间含有两个字符,超出了规定长度,不满足单字符间隔的条件。
12、 以ABC开头的任意字符串均符合条件,例如ABCD和ABCABC都满足这一模式。
13、 (3)%XYZ:表示所有以XYZ结尾的字符串,例如WXYZ和ZZXYZ均满足该模式。
14、 (4)%AN%:表示包含连续字母AN的任意字符串。例如,LOS ANGELES和SAN FRANCISCO均满足该模式,适用于匹配中间含有AN组合的所有文本内容。
15、 order by 指令用于对查询结果进行有序排列,使数据显示更加系统化和清晰。
16、 这可能从小到大,也可能从大到小进行。
17、 此时可使用 ORDER BY 指令实现排序需求。
18、 ORDER BY 语句用于排序查询结果。
19、 从指定数据表中选取特定字段,并按照该字段的值进行升序排列输出结果。
20、 WHERE 子句并非必需,但如果使用,必须位于 ORDER BY 子句之前。
21、 ASC表示结果按从小到大排序,DESC表示结果按从大到小排序。
22、 若两者均未指定,则默认按升序排列,即使用ASC。
23、 根据Sales字段进行排序操作
24、 按从大到小的顺序排列 Store_Information 表中的数据记录。
25、 存储信息的数据表
26、 我们进攻
27、 函数
28、 由于数据库中大量信息以数字形式存储,因此具备对这些数据进行运算处理的能力显得尤为关键。
29、 例如进行求和或计算平均值,SQL 提供了多种此类函数,如求和、平均等常用聚合操作。
30、 平均值、计数、总和,分别用于数据的均值、数量及累计计算。
31、 最大值、最小值及条件判断函数,其中IF函数常用于判断条件成立时返回真值,否则返回假值。
32、 函数使用语法为:SELECT 函数名(字段名) FROM 表名。
33、 如从我们的示例表格中提取数据
34、 计算 Sales 列的总和
35、 存储信息的表格数据结构
36、 我们进攻
37、 结果:
38、 需注意以下几点:
39、 所有销售金额加总为2750美元,具体包括1500美元、250美元、300美元和700美元四项,合计正好等于该总数。
40、 SQL不仅支持函数调用,还能执行基本数学运算,如加法与减法。针对文本数据,SQL也提供了多种字符串处理函数,便于对文字信息进行操作与处理。
41、 例如字符串的连接、去除首尾空格以及提取子字符串等操作。
42、 前文已指出,COUNT 属于函数的一种。
43、 因其应用普遍,特此加以探讨。COUNT函数的基本用法如下所示。
44、 统计表格中被选中的数据条目数量。
45、 语法格式为:SELECT COUNT(字段名) FROM 表名
46、 示例:在我们的示范表格中查找数据
47、 当存在若干条store_name字段非空的记录时
48、 存储信息的表格数据结构
49、 我们进攻
50、 结果:
51、 4
52、 is not NULL表示该字段不为空值,即存在数据内容。
53、 COUNT与DISTINCT常结合使用,用于统计表中不同数据的总数量,关注的是不重复数据的条数,而无需关心具体数据内容。
54、 例如,要统计表格中不同store_name的数量,可输入相应查询命令进行计算。
55、 结果:
56、 3
57、 现在我们回到函数话题。还记得用SUM指令计算总销售额吗?如果需求发生变化,需要调整计算方式,该如何处理?
58、 如何计算每家店铺(store_name)各自的营业额(sales)?
59、 此时需同时完成两项任务。
60、 需同时选择 store_name 和 Sales 两个字段。
61、 第二,需确保所有销售额按不同门店名称分别统计计算。
62、 该语句用于从指定表中按栏位1分组,统计每组中栏位2的总和,语法结构为:选择分组字段与聚合函数,从数据表中按字段分组查询。
63、 在我们的示范基础上
64、 存储信息的表格数据结构
65、 我们进攻
66、 结果:
67、 当选择多个字段且至少一个字段使用了函数时,必须使用 GROUP BY 语句。此时,应对所有其他未使用函数的字段进行分组,也就是说,除了包含函数的字段外,其余每个字段都应出现在 GROUP BY 子句中,以确保查询结果的正确性和逻辑一致性。
68、 此外,所有非聚合字段都需包含在 GROUP BY 子句中。
69、 当需要根据函数计算结果设置筛选条件时,例如查找日营业额超过1500美元的店铺,无法直接使用WHERE子句实现。此时应采用HAVING子句配合GROUP BY分组统计,在聚合后对结果进行条件筛选,从而准确获取满足条件的数据记录。
70、 幸运的是,SQL 提供了 HAVING 子句,可通过该子句实现这一目的。
71、 HAVING 子句一般位于 SQL 语句末尾,用于筛选分组后的数据,其使用并不要求必须存在 GROUP BY 子句。
72、 SELECT 字段1, SUM(字段2) FROM 表名 GROUP BY 字段1 HAVING 条件表达式
73、 从指定表格中提取数据信息
74、 按栏位 1分组,并对分组结果应用函数条件进行筛选。
75、 需注意,GROUP BY 子句并非在所有情况下都必须使用。
76、 以我们 Store_Information 表为例,该表记录了各门店的销售与库存详情。
77、 我们进攻
78、 结果:
