点击打开所使用到的数据库>>> 1.统计所有商品的平均单价.最高单价与平均单价之差.平均单价与最低单价之差. 最高单价与平均单价之差 = max(unitPrice)-avg(unitPrice),平均单价与最低单价之差 = avg(unitPrice)-min(unitPrice): select avg(unitPrice) 平均单价 , max(unitPrice)-avg(unitPrice) 最高单价与平均单价之差 , avg(unitPrice)-min(unitPrice)…
点击打开所使用到的数据库>>> 1.统计商品最高单价和最低单价. -- 获取所有商品的最高单价和最低单价: select max(unitPrice) 最高单价 , min(unitPrice) 最低单价 from goods; 2.汇总指定日期的订单金额. -- 汇总指定日期(如 2015-04-12 日)订单金额: select sum(amount) 订单总价 from orders where ordersDate='2015-04-12';…
点击打开所使用到的数据库>>> 1.根据商品名关键字查找商品信息. 查询带"美"字的商品信息: SELECT * FROM goods WHERE goodsName LIKE '%美%' 2.根据客户的姓氏和姓名长度查找客户信息. -- 查询刘姓客户信息: select * from customer where cName like ' 刘 %'; -- 查询姓名长度为 3 的张姓客户信息: select * from customer where cName l…
点击打开所使用到的数据库>>> 1.将所有客户的姓名与电话以"-"作为分隔符进行连接显示. 使用 concat(s1,s2,-) 函数将所有客户的姓名与电话以"-"作为分隔符进行连接显示: select concat(cName,'-',phone) 客户联系方式 from customer 2.显示所有客户的姓名和地址,但是需要将凡是含有"关山一路"的地址信息均显示为"关山大道". 先获得所有客户的地址信息…
点击打开所使用到的数据库>>> 1.添加一条商品记录.  商品编码  goodsCode 商品名 goodsName 种类 category 单价 unitPrice 02005 夏普 KC-Z380SW 空气净化器 生活电器 1889.45 添加商品"夏普 KC-Z380SW 空气净化器": insert into goods(goodsCode, goodsName, category, unitPrice) values ('02005',' 夏普 KC-Z38…
点击打开所使用到的数据库>>> 删除客户"刘一鸣". 执行 SQL 代码"delete from customer where cName=' 刘一鸣 '",会出现删除异常. 打开从表 orders 的设计视图,单击"外键",出现 orders 表外键编辑窗口,下拉选中"删除时"的状态值为"SET NULL". 如果删除客户时,该客户所下订单亦跟着全部删除,则下拉选中"删除时&q…
点击打开所使用到的数据库>>> 1.添加 easyShopping 客户数据. insert into customer values('abc111','111',' 刘一鸣 ',' 北京市朝阳区新源南路 14 号 ','13901212345'); 2.将客户所在城市的名字的最后添加"市",如"北京"更新为"北京市",并且将客户电话的最前面加上中国电话国际代码"86",如"1390×××2345…
点击打开所使用到的数据库>>> 1.使用 DDL 语句修改 easyShopping 商品表 goods 表结构,要求如下: 新增字段生产厂商 manufacturer,它的类型为 varchar(50). 将字段 unitPrice 更名为 price,字段类型维持不变,仍为 decimal(8,2) 类型. 将字段 category 的类型修改为 varchar(50). 删除字段 saleCount. 删除定义在 goodsName 字段的唯一约束,约束名为 unique_gNam…
点击打开所使用到的数据库>>> 1.使用 DDL 创建 easyShopping2 数据库. create database easyShopping2 2.使用 DDL 更改 easyShopping2 数据库的名字为 easyShopping3. rename database easyShopping2 to easyShopping3 3.使用 DDL 删除数据库 easyShopping3. drop database easyShopping3 4.使用 DDL 创建商品表和…
点击打开所使用到的数据库>>> 1.分类显示所有商品信息,按商品价格升序排列. "分类显示所有商品信息"表明查询表"商品",排序列为"类型":"按商品价格升序排列"表明显示同一类型的商品时,需按照"价格"进行升序排列.所以,第一排序列为"类型",第二排序列为"价格". SELECT * FROM goods WHERE category IN ('生…
点击打开所使用到的数据库>>> 1.查询指定姓名的客户(如"张晓静")的地址和电话号码. select address 地址, phone 电话号码 from customer where cName='张晓静' 2.查询单价高于某个值(如"200")的生活电器类商品信息. select goodsName 商品名 , unitPrice 单价 from goods where category=' 生活电器 ' and unitPrice>…
点击打开所使用到的数据库>>> 1.查询所有客户的地址和电话号码. SELECT address, phone FROM customer 2.查询所有商品的名称.种类和单价信息. SELECT goodsname 商品名称,category 种类,unitPrice 单价 FROM goods 3.查询所有订单的编号和订购日期信息. SELECT ordersID 编号,odersDate 日期 FROM orders 4.显示所有订单的送达日期信息,要求送达日期唯一. select…
点击打开所使用到的数据库>>> 1.使用左接获取所有客户的基本信息以及订购信息,要求输出客户姓名.电话.订单 ID 和下单时间. 由于需要获取所有客户的基本信息,如果采用左连接加以实现,必须从左至右依次连接客户表和订单表,此时客户表将作为左表. select cName 姓名 , ordersID 订单 ID, ordersDate 下单日期 from customer c left join orders o on c.customerID=o.customerID 2.使用右接获取所…
聚合函数 (常用) 函数名称 描述 CONUT() 记数 SUM() 求和 AVG() 平均值 MAX() 最大值 MIN() 最小值 -- ================= 聚合函数 =============== -- 都能统计表中的数据 SELECT COUNT(`subject`) FROM `subject` -- count(字段) 会忽略所有的 null 值 SELECT COUNT(*) FROM `subject` -- count(*) 不会忽略 null 值, 本质是计算…
函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:单行函数.组函数 本文将讨论如何使用单行函数及组函数以及使用规则. 1 SQL中的单行函数 SQL和PL/SQL中自带很多类型的函数,有字符.数字.日期.转换.和混合型等多种函数用于处理单行数据,因此这些都可被统称为单行函数.这些函数均可用于SELECT,WHERE.ORDER BY等子句中,例如下面的例子中就包含了TO_CHAR,UPPER,…
在Spark中,也支持Hive中的自定义函数.自定义函数大致可以分为三种: UDF(User-Defined-Function),即最基本的自定义函数,类似to_char,to_date等 UDAF(User- Defined Aggregation Funcation),用户自定义聚合函数,类似在group by之后使用的sum,avg等 UDTF(User-Defined Table-Generating Functions),用户自定义生成函数,有点像stream里面的flatMap 本篇…
点击打开所使用到的数据库>>> 1.显示当前 MySQL 服务器的版本信息和登录信息. MySQL 系统信息函数 version() 用于返回当前 MySQL 的版本号,"show processlist" 用于显示 MySQL 运行时相关线程的运行状态,这些信息包括连接数.连接状态等,通过这些信息可以帮助使用者识别出有问题的查询语句等. 2.显示当前被 MySQL 服务器验证的用户和主机名组合. 显示当前被 MySQL 服务器验证的用户和主机名组合的 MySQL 信…
点击打开所使用到的数据库>>> 1.采用尽可能多的方式显示当前系统日期和时间. 下列 SQL 语句可以显示当前系统的日期和时间: curdate() 和 current_date() 显示当前系统日期. curtime() 和 current_time() 显示当前系统时间. current_timestamp().localtime().now() 和 sysdate() 函数显示当前系统日期和时间. 2.显示当前时间,要求时间格式为"4 位年 - 月 - 日 小时 : 分钟…
点击打开所使用到的数据库>>> 1.按照商品类型和销售地区分组统计商品数量和平均单价,并按平均单价升序显示. -- 按照商品类型和销售地区分组统计商品数量和平均单价,并按平均单价升序显示: select category 商品类型 , areaID 销售地区 ID, count(*) 数量 , truncate(avg(unitPrice),2) 平均单价 from goods group by category, areaID order by 平均单价 2.根据类型分组统计商品数量和…
点击打开所使用到的数据库>>> 1.按照商品类型分组统计商品数量和平均单价,并按平均单价升序显示. -- 按照商品类型分组统计商品数量和平均单价,并按平均单价升序显示: select category 类型 , count(*) 数量 , truncate(avg(unitPrice),2) 平均单价from goods group by category order by 平均单价 2.统计每个客户所下订单数,并按订单数升序显示客户编号和该客户所下订单数. -- 统计每个客户所下订单数…
ORACLE字符串连接分组串聚函数 wmsys.wm_concat SQL代码: select grp, wmsys.wm_concat(str) grp, 'a1' str from dual union grp, 'a2' str from dual union grp, 'b1' str from dual union grp, 'b2' str from dual union grp, 'b3' str from dual) t group by grp 执行效果: 原始数据 分组聚合后…
第08章 MySQL聚合函数 我们上一章讲到了 SQL 单行函数.实际上 SQL 函数还有一类,叫做聚合(或聚集.分组)函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值. 1. 聚合函数介绍 什么是聚合函数 聚合函数作用于一组数据,并对一组数据返回一个值. 聚合函数类型 AVG() SUM() MAX() MIN() **COUNT() ** 聚合函数语法 聚合函数不能嵌套调用.比如不能出现类似"AVG(SUM(字段名称))"形式的调用. 1.1 AVG和SU…
全部章节   >>>> 本章目录 6.1 sum.max 和 min 聚合函数 6.1.1 聚合函数介绍 6.1.2 sum 函数 6.1.3 max/min 函数 6.2 avg 和 count 函数 6.2.1 avg 函数 6.2.2 count 函数 6.3 分组查询 group by 子句 6.3.1 group by 子句 6.3.2 创建分组 6.3.3 比较 order by 和 group by 6.3.4 使用 where 子句实现分组之前过滤数据 6.3.5…
软件实施面试系列文章第二弹,MySQL和Oracle联合查询以及聚合函数的面试总结.放眼望去全是MySQL,就不能来点Oracle吗?之前面过不少公司,也做过不少笔试题,现在已经很少做笔试题了.你肚子有多少墨水,有经验的面试官一问基本上就知道个大概了.趁着还有点微薄的记忆,就彻底分享出来啦. 系列文章已收录至github仓库: https://github.com/cnwangk/SQL-study 前言 那个用心作题图,用脚写文档的就是我龙腾万里sky啦. 如果不想自己去新建示例,也想找一个完…
聚合函数 max() 最大值 min() 最小值 avg() 平均值 sum() 求和 count() 符合条件数据的数目 聚合函数不能嵌套使用 # 在统计时字段内没有满足条件的数值只有count返回数值0或者其他,而其余四个聚合函数返回null; # 对于聚合函数的参数,很多时候使用字段名来表示,那么这个时候,该字段内的null值不参与统计 count(*) 显示表中符合条件的信息数目,不考虑某字段出现null值 select count(cID),avg(elScore) from elog…
一.视图 什么是视图 视图是有一张表或多张表的查询结果构成的一张虚拟表 为什么使用视图 当我们在使用多表查询时 我们的sql语句可能会非常的复杂,如果每次都编写一遍sql'的话无疑是一件麻烦的事情,这时候就可以使用视图来避免多次编写sql的问题; 简答的说可以帮我们节省sql的编写, 视图的另一个作用是,可以不同的视图来展示开放不同数据的访问 例如,同一张工资表,老板可以查看全部,部门主管可以查看该部门所有人,员工只能看自己的一条记录 使用方法  创建视图 CREATE [OR REPLACE]…
一.GROUP BY  Having 聊聚合函数,首先肯定要弄清楚group by 和having 的用法. SELECT id, COUNT(course) as numcourse, AVG(score) as avgscore FROM student GROUP BY id HAVING AVG(score)>=80; 注意 1.因为聚合函数通过作用于一组数据而只返回一个单个值,因此,在SELECT语句中出现的元素要么为一个聚合函数的输入值,要么为GROUP BY语句的参数,否则会出错.…
  聚合分析 在访问数据库时,经常需要对表中的某列数据进行统计分析,如求其最大值.最小值.平均值等.所有这些针对表中一列或者多列数据的分析就称为聚合分析. 在SQL中,可以使用聚合函数快速实现数据的聚合分析.与第7章介绍的SQL中的函数不同,聚合函数是对列中的一系列数据进行处理,返回单个统计值:而前面的函数则是对列中的单个数据进行处理. 聚合函数    函 数 名称      函 数 功 能 SUM() 返回选取结果集中所有值的总和 MAX() 返回选取结果集中所有值的最大值 MIN() 返回选…
1.聚合函数 sum,avg,max,min,count        having后面只能跟聚合函数 2.数学函数和字符串函数 3.练习: 1)新建一个学生信息表,根据问题写出程序. 2)新建一个超市表,进了十种商品,个数都是十件,自己随意添加.…
首先初始化表和数据 create table t_student(   Id INT,   Name varchar(),   Score int,   ClassId INT ); insert into t_student values (,,); insert into t_student values (,,); insert into t_student values (,,); insert into t_student values (,,); insert into t_stud…