SQL语句加强 AND & OR 运算符 AND & OR 运算符用于基于一个以上的条件对记录进行过滤。 score表:
用法: 第一个条件和第二个条件都要成立用AND 第一个条件和第二个条件只需有一个成立用OR SELECT * FROM score WHERE sex='男' AND score>='80'; 理解:筛选score表中sex为男且score大于等于80的记录,展示所有字段。可以从表中看出,只有宫本那条记录满足。 SELECT * FROM score WHERE sex='男' OR score>='80'; 理解:筛选score表中sex为男或者score大于等于80的记录,展示所有字段。可以从表中看出,宫本和刘禅这两条记录都满足这个条件。 ORDER BY 关键字用于对结果集进行排序。可以按照一个列或者多个列进行排序。 默认按照升序对记录进行排序,降序对记录进行排序,您可以使用 DESC 关键字。(升序关键字为ASC) 语法:SELECT 字段名1,字段名2… FROM 表名 ORDER BY 字段名1,字段名2 ASC|DESC; SELECT * FROM score ORDER BY score DESC,name ; 理解:对score表进行排序,按score(这里score是字段)降序排列,再按name升序排列。
tips:先按score降序排序,貂蝉和小鲁班score相等时,按name升序排序(中文按首字母A-Z排序) LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。 通配符可用于替代字符串中的任何其他字符。 %,替代 0 个或多个字符。 _,替代一个字符。 tips:在SQL中,通配符与 LIKE 操作符一起使用。 SELECT * FROM score WHERE name LIKE '宫%'; 理解:选取score表中name为'宫'开头的所有记录。%代表0个字符,所以'宫%'代表以宫开头的,后面接上0到无穷多个字符。 '%宫' ,代表以'宫'结尾的数据 '%宫%',代表包含'宫'的数据 '宫_' ,代表两位且以'宫'开头的数据 '_宫_' ,代表三位且'宫'在第二位的数据 '宫_' ,代表两位且以'宫'结尾的数据 SQL函数 SQL 拥有很多可用于计数和计算的内建函数。常见的有: AVG(),COUNT(),MAX() ,MIN() ,SUM()。 AVG() 函数返回数值列的平均值。 COUNT() 函数返回匹配指定条件的行数。 MAX() 函数返回指定列的最大值。 MIN() 函数返回指定列的最小值。 SUM() 函数返回数值列的总数。 语法:SELECT AVG(字段名)/COUNT()/MAX字段名)/MIN(字段名)/SUM(字段名)/ FROM 表名; SELECT AVG(score) FROM score; 理解:计算出score表中score字段的平均值。 SELECT COUNT(score) FROM score; 理解:对score表中,对score字段进行计数。 GROUP BY语句用于结合聚合函数,根据一个或多个列对结果集进行分组。 语法:SELECT 字段名, 聚合函数(字段名)FROM 表名 GROUP BY 字段名; SELECT sex,SUM(score) FROM score GROUP BY sex; 理解:score表按sex分类,展示sex和SUM(score)。
因为聚合函数不能与WHERE子句一起使用。 所以,使用HAVING子句,可以让我们筛选分组后的各组数据。 SELECT sex,SUM(score) FROM score GROUP BY sex HAVING SUM(score)>'150'; 理解:score表按sex分类后筛选SUM(score)大于150的记录,展示sex和SUM(score)。 SQL语句博大精深哟,这里仅仅提及一些常用的语句以及简单用法,了解其原理,工作中需要用到什么语句时,百度即可。工作0-3年经验的问题,在百度基本都能找到答案。 PS:今天教师节,祝妈妈节日快乐。 |
|