首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL必知必会总结2-第8到13章

; 分组数据 分组使用是两个子句: GROUP BY() HAVING() 创建分组 分组是使用SELECT子句GROUP BY子句建立,看个例子: SELECT vend_id ,COUNT...可以对分组进行嵌套 GROUP BY子句中列出一列都是检索列或者有效表达式(但是不能是聚集函数) 如果在SELECT中使用表达式,则必须在GROUP BY子句使用相同表达式,而不是使用别名 除了聚集函数外...对产生输出排序 对行分组,但输出可能不是分组顺序 任意列都可以使用(非选择列也可以使用) 只可能使用选择列或者表达式列,而且必须使用每个选择列表达式 不一定需要 如果和聚集函数一起使用列,则必须使用...在这里总结一下SELECT子句相关顺序: 子句 说明 是否必须使用 SELECT 要返回列或者表达式 是 FROM 从中检索数据表 仅在从表选择数据时使用 WHERE 行级过滤 否 GROUP...WHERE prod_id = 'RGAN01')); 作为计算字段使用查询 使用查询另一个方法是创建计算字段 SELECT

2.3K21

SQL必知必会》万字精华-第1到13章

-- 找出价格为NULL数据 五、高级数据过滤 本节中介绍如何组合WHERE子句以建立功能更强、更高级搜索条件 组合WHERE子句 操作符operator:用来联结或改变WHERE子句子句关键字...-- 求最小值 ,COUNT(*) AS num_items -- 物品数目 FROM Products; 分组数据 分组使用是两个子句: GROUP BY() HAVING() 创建分组...; -- 分组列 GROUP BY子句使用时候常见规定: GROUP BY子句可以包含任意数目的列,可以对分组进行嵌套 GROUP BY子句中列出一列都是检索列或者有效表达式(但是不能是聚集函数...使用查询 任何SELECT语句都是查询SQL还允许在查询中嵌套查询。...WHERE prod_id = 'RGAN01')); 作为计算字段使用查询 使用查询另一个方法是创建计算字段 SELECT

6.9K00
您找到你想要的搜索结果了吗?
是的
没有找到

sql语句面试经典50题_sql基础知识面试题

目录 SQL基础知识整理: 常见SQL面试题:经典50题 三、50道面试题 2.汇总统计分组分析 3.复杂查询 sql面试题:topN问题 4.多表查询 【面试题类型总结】这类题目属于行列如何互换,解题思路如下...(如何你还不懂什么是数据库,什么是客户端navicat,可以先学习这个: 1.创建表 1)创建学生表(student) 按下图在客户端navicat里创建学生表 学生表“学号”列设置为主键约束,下图是每一列设置数据类型和约束...课程学生学号:课程表score] where 查询条件 [至少选修两门课程:需要先计算出每个学生选修了多少门课,需要用分组,所以这里没有where子句] group by 分组 [每个学生选修课程数目...这类问题其实就是常见:分组取每组最大值、最小值,每组最大N条(top N)记录。 面对该类问题,如何解决呢? 下面我们通过成绩表例子来给出答案。...select 课程号,max(成绩) as 最大成绩from score group by 课程号; 第2步:先使用order by子句按成绩降序排序(desc),然后使用limt子句返回topN(

2.8K20

常见SQL面试题:经典50例

推荐:250期面试题汇总 学生表“学号”列设置为主键约束,下图是每一列设置数据类型和约束 创建完表,点击“保存” 2)创建成绩表(score) 同样步骤,创建"成绩表“。...:课程表score] where 查询条件 [至少选修两门课程:需要先计算出每个学生选修了多少门课,需要用分组,所以这里没有where子句] group by 分组 [每个学生选修课程数目:按课程号分组...这类问题其实就是常见:分组取每组最大值、最小值,每组最大N条(top N)记录。 面对该类问题,如何解决呢? 下面我们通过成绩表例子来给出答案。...select 课程号,max(成绩) as 最大成绩 from score group by 课程号; 第2步:先使用order by子句按成绩降序排序(desc),然后使用limt子句返回topN...2); 前面我们使用order by子句按某个列降序排序(desc)得到是每组最大N个记录。

6.6K42

面试 SQL整理 常见SQL面试题:经典50题

目录 ​ SQL基础知识整理: 常见SQL面试题:经典50题 三、50道面试题 2.汇总统计分组分析 3.复杂查询 sql面试题:topN问题 4.多表查询 【面试题类型总结】这类题目属于行列如何互换...(如何你还不懂什么是数据库,什么是客户端navicat,可以先学习这个: 1.创建表 1)创建学生表(student) 按下图在客户端navicat里创建学生表 学生表“学号”列设置为主键约束,下图是每一列设置数据类型和约束...课程学生学号:课程表score] where 查询条件 [至少选修两门课程:需要先计算出每个学生选修了多少门课,需要用分组,所以这里没有where子句] group by 分组 [每个学生选修课程数目...这类问题其实就是常见:分组取每组最大值、最小值,每组最大N条(top N)记录。 面对该类问题,如何解决呢? 下面我们通过成绩表例子来给出答案。...select 课程号,max(成绩) as 最大成绩from score group by 课程号; 第2步:先使用order by子句按成绩降序排序(desc),然后使用limt子句返回topN(

2.2K10

平平无奇SQL面试题:经典50例

学生表“学号”列设置为主键约束,下图是每一列设置数据类型和约束 ? 创建完表,点击“保存” ? 2)创建成绩表(score) 同样步骤,创建"成绩表“。...,所以这里没有where子句] group by 分组 [每个学生选修课程数目:按课程号分组,然后用汇总函数count计算出选修了多少门课] having 对分组结果指定条件 [至少选修两门课程:每个学生选修课程数目...这类问题其实就是常见:分组取每组最大值、最小值,每组最大N条(top N)记录。 面对该类问题,如何解决呢? 下面我们通过成绩表例子来给出答案。...前面我们使用order by子句按某个列降序排序(desc)得到是每组最大N个记录。如果想要达到每组最小N个记录,将order by子句按某个列升序排序(asc)即可。...使用sql实现将该表行转列为下面的表结构 ? 【面试题类型总结】这类题目属于行列如何互换,解题思路如下: 【面试题】下面是学生成绩表(表名score,列名:学号、课程号、成绩) ?

2.5K60

MySQL 查询专题

SQL(像多数语言一样)在处理OR操作符前,优先处理AND操作符。 在WHERE子句使用圆括号 任何时候使用具有 AND 和 OR 操作符WHERE子句,都应该使用圆括号明确地分组操作符。...❑ IN最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。 ❑ IN WHERE子句中用来指定要匹配值清单关键字,功能与OR相当。...❑ 大多数SQL实现不允许 GROUP BY 列带有长度可变数据类型(如文本或备注型字段)。 ❑ 除聚集计算语句外,SELECT 语句中一列都必须在 GROUP BY 子句中给出。...子查询 版本要求 MySQL 4.1 引入了对子查询支持,所以要想使用本章描述 SQL,必须使用MySQL 4.1 或更高级版本。...where item_price >= 10 ) 列必须匹配 在 WHERE 子句使用查询(如这里所示),应该保证SELECT语句具有与 WHERE 子句中相同数目的列。

5K30

常见SQL面试题:经典50例

学生表“学号”列设置为主键约束,下图是每一列设置数据类型和约束 创建完表,点击“保存” 2)创建成绩表(score) 同样步骤,创建"成绩表“。...:课程表score] where 查询条件 [至少选修两门课程:需要先计算出每个学生选修了多少门课,需要用分组,所以这里没有where子句] group by 分组 [每个学生选修课程数目:按课程号分组...select 课程号,max(成绩) as 最大成绩 from score  group by 课程号; 第2步:先使用order by子句按成绩降序排序(desc),然后使用limt子句返回topN... 2); 前面我们使用order by子句按某个列降序排序(desc)得到是每组最大N个记录。... b.课程号='0003' and b.成绩>80; 下面是学生成绩表(表名score,列名:学号、课程号、成绩) 使用sql实现将该表行转列为下面的表结构 【面试题类型总结】这类题目属于行列如何互换

1.9K20

面试中经常被问到 50 个 SQL 题,必须拿下!

学生表“学号”列设置为主键约束,下图是每一列设置数据类型和约束 创建完表,点击“保存” 2)创建成绩表(score) 同样步骤,创建"成绩表“。...这类问题其实就是常见:分组取每组最大值、最小值,每组最大N条(top N)记录。 面对该类问题,如何解决呢? 下面我们通过成绩表例子来给出答案。...select 课程号,max(成绩) as 最大成绩 from score group by 课程号; 第2步:先使用order by子句按成绩降序排序(desc),然后使用limt子句返回topN...2); 前面我们使用order by子句按某个列降序排序(desc)得到是每组最大N个记录。...b.课程号='0003' and b.成绩>80; 下面是学生成绩表(表名score,列名:学号、课程号、成绩) 使用sql实现将该表行转列为下面的表结构 【面试题类型总结】这类题目属于行列如何互换

3.1K30

SQL必知必会》万字浓缩精华

; -- 找出价格为NULL数据 五、高级数据过滤 本节中介绍如何组合WHERE子句以建立功能更强、更高级搜索条件 组合WHERE子句 操作符operator:用来联结或改变WHERE子句子句关键字...vend_id; -- 分组列 GROUP BY子句使用时候常见规定: GROUP BY子句可以包含任意数目的列,可以对分组进行嵌套 GROUP BY子句中列出一列都是检索列或者有效表达式...在这里总结一下SELECT子句相关顺序: 子句 说明 是否必须使用 SELECT 要返回列或者表达式 是 FROM 从中检索数据表 仅在从表选择数据时使用 WHERE 行级过滤 否 GROUP...子句以便过滤插入数据。...视图规则和限制 关于视图创建使用一些常见规则和限制: 与表一样,视图命名必须唯一 创建视图数目没有限制 创建视图必须具有足够访问权限 视图是可以嵌套 视图不能索引,也不能有关联触发器或者默认值

7.4K31

SQL必知必会总结

; -- 找出价格为NULL数据 五、高级数据过滤 本节中介绍如何组合WHERE子句以建立功能更强、更高级搜索条件 组合WHERE子句 操作符operator:用来联结或改变WHERE子句子句关键字...对产生输出排序 对行分组,但输出可能不是分组顺序 任意列都可以使用(非选择列也可以使用) 只可能使用选择列或者表达式列,而且必须使用每个选择列表达式 不一定需要 如果和聚集函数一起使用列,则必须使用...在这里总结一下SELECT子句相关顺序: 子句 说明 是否必须使用 SELECT 要返回列或者表达式 是 FROM 从中检索数据表 仅在从表选择数据时使用 WHERE 行级过滤 否 GROUP...子句以便过滤插入数据。...视图规则和限制 关于视图创建使用一些常见规则和限制: 与表一样,视图命名必须唯一 创建视图数目没有限制 创建视图必须具有足够访问权限 视图是可以嵌套 视图不能索引,也不能有关联触发器或者默认值

9.1K30

这是我见过最有用Mysql面试题,面试了无数公司总结(内附答案)

28.什么是SQL自动增量? 这是重要Oracle DBA面试问题之一。 自动增量关键字使用户可以创建一个唯一数字,以便在将新记录插入表中时生成该数 字。...在SQL Server中,数据库表中一列都有一个名称和一种数据类型。 在创建SQL表时,我们需要决定在表一列中存储哪种数据类型。 57.可以在BOOLEAN数据字段中存储哪些可能值?...BYTE数据字段中可以存储最大值是多少? 一个字节中可以表示最大数字是11111111或255。 可能数目是256(即255(最大可能值)加上1(零)或2 8)。 59....将使用旧表中定义列名和类型创建新表。您可以使用AS子句创建列名称。 SELECT * INTO newtable FROM oldtable WHERE condition; 63....如果假设在交叉联接中使用Where子句查询将像内部联接一样工作。 74.什么是整理? 归类定义为一组规则,这些规则确定如何对字符数据进行排序和比较。

27K20

Oracle面试题

,其中有一个唯一性索引,而其它是非唯一,这种情况下oracle将使用唯一性索引而完全忽略非唯一性索引5.至少要包含组合索引一列(即如果索引建立在多个列上,只有它第一个列被where子句引用时,优化器才会使用该索引...(8)WHERE子句连接顺序:ORACLE采用自下而上顺序解析WHERE子句,根据这个原理,表之间连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录条件必须写在WHERE子句末尾...用Where子句替换HAVING子句(12)用EXISTS替代IN、用NOT EXISTS替代 NOT IN:在子查询中,NOT IN子句将执行一个内部排序和合并。...(16)总是使用索引第一个列:如果索引是建立在多个列上,只有在它第一个列(leading column)被where子句引用时,优化器才会选择使用该索引。...如何更改视图?视图可以理解为数据库中一张虚拟表。它是建立在已有表基础上,创建视图所依据表称为“基表”。通过一张或者多张基表进行关联查询后组成一个虚拟逻辑表。视图作用?

1.6K00

笨办法学 Python · 续 练习 40:SQL 读取

ex5.sql:7 最后,我从person选择所有列,就像在第一行,但我现在指明,它们不等于"Zed"。WHERE子句决定哪一行返回,哪一行不返回。 选择多表 希望你现在专注于选择数据。...永远记住这一点:SQL 只知道表。SQL 喜欢表。SQL 仅返回表。表,表,表,表! 我以这种非常疯狂方式重复一遍,以便你将开始意识到,你在编程中知道东西不会有帮助。...,基于三个表中数据,和WHERE子句。...ex6.sql:1 我仅仅想要pet中一些列,所以我在选择中指定它们。在上一个练习中,你使用*来表示“每一列”,但它在这里是一个坏主意。...编写一个查询WHERE子句使用多于一个测试,使用AND来编写它。例如WHERE first_name = "Zed" AND age > 30。

51120

【数据库设计和SQL基础语法】--连接与联接--多表查询与子查询基础(二)

以下是子查询一般概述: 位置: 子查询可以出现在 SQL 语句不同部分,包括 SELECT 子句、FROM 子句WHERE 子句、HAVING 子句等。...(SELECT MAX(price) FROM products) 返回产品价格最大值,然后主查询选择了产品名称、价格和最大价格。...) AS avg_sales FROM employees; IN 子句使用查询WHERE 子句中进行多个值比较,例如选择属于某个特定部门员工。...二、多表查询与子查询结合运用 2.1 使用查询进行条件过滤 使用查询进行条件过滤是一种常见 SQL 操作,它允许你在 WHERE 子句使用查询来过滤主查询结果。...,或者通过使用 WITH 子句创建临时表来提高可读性。

26410

MySQL 系列教程之(七)DQL:从 select 开始丨【绽放吧!数据库】

,如果不明确规定排序顺序,则不应该假定检索出数据顺序有意义 通常,ORDER BY子句使用列将是为显示所选择列。...IN最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。...> > 通过这些例子,可以明白如何根据需要使用SELECT进行试验 函数使用 与其他大多数计算机语言一样,SQL支持利用函数来处理数据。...使用这些函数,MySQL查询可用于检索数据,以便分析和报表生成 确定表中行数(或者满足某个条件或包含某个特定值行数)。 获得表中行组和。...子句 说明 是否必须 SELECT 要返回列或表达式 是 FROM 从中检索数据表 仅在从表选择数据时使用 WHERE 行级过滤

3.5K43

两万字图文 SQL 零基础入门,不怕你学不会,就怕你不收藏!❤️

SQL 面向数据库执行查询 SQL 可从数据库取回数据 SQL 可在数据库中插入新记录 SQL 可更新数据库中数据 SQL 可从数据库删除记录 SQL创建新数据库 SQL 可在数据库中创建新表...有表才能查询,那么如何创建这样一个表? ???? CREATE TABLE – 创建表 CREATE TABLE 语句用于创建数据库中表。...所以,请检查你数据库是如何处理 BETWEEN…AND 操作符! ???? AS – 别名 通过使用 SQL,可以为列名称和表名称指定别名(Alias),别名使查询程序更易阅读和书写。...MAX – 最大值 MAX 函数返回一列最大值。NULL 值不包括在计算中。...HAVING – 句尾连接 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用

8.3K10

sql学习

趁着假期学习总结下~ sql简介 sql可以查询、从数据库取出数据、插入、更新、删除、创建数据库、创建新表、创建存储过程、创建视图、设置表视图和存储过程权限。...SQL SELECT DISTINCT语句 关键词DISTINCT用于返回唯一不同值 语法:SELECT DISTINCT 列名称 FORM 表名称 SQL WHERE子句 where子句同于规定选择标准...,如果需要有条件从表中选取数据,可将where子句添加到select语句中 语法:SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 可在where子句使用运算符: 操作符 描述...语法: DELETE FROM 表名称 WHERE 列名称 = 值 SQL高级教程 SQL TOP子句 TOP子句用于规定要返回记录数目,这条语句对于拥有数千条记录大型表而言,是很有用。...HAVING子句WHERE关键字无法和合计函数一起使用时,使用HAVING子句。 ucase() 该函数将字段值转换为大写。

4.6K30

T-SQL进阶:超越基础 Level 2:编写子查询

在您开始创建超出基本Transact-SQL语句更复杂SQL代码时,您可能会发现需要使用其他SELECT语句结果来限制查询。...Transact-SQL语句中有许多不同地方,需要一个子查询来返回单个列值,例如在选择列表中WHERE子句等。...通过使用查询来控制TOP子句返回行数,可以构建一个子查询以便在运行时动态地识别从查询返回行数。...; 清单7:FROM子句查询 清单7中代码使用FROM子句查询创建一个名为Last10SalesOrders表别名。...当子查询用于FROM子句时 当IN子句使用查询时 当表达式中使用查询时 当子查询与比较运算符一起使用时 问题3: 在WHERE子句使用一个子查询Transact-SQL语句总是比不包含子查询

6K10
领券