SQL 部分函数的使用,子查询,group by,虚拟字段,case……

原创 2016年06月01日 23:26:46
--1/显示面积小于仓库平局面积的仓库信息:
SELECT 面积 FROM 仓库 WHERE 面积<(SELECT AVG(面积) FROM 仓库);


--2/统计性别为女,工资大于1500的职工人数:
SELECT COUNT(*) FROM 职工 WHERE sex='女' AND 工资>1500;

--3/显示仓库表中有多少个仓库号:
SELECT COUNT(仓库号) FROM 仓库;

--4/显示不重复仓库号的个数:  ORACLE中的count()函数只能用于number数据类型;
SELECT COUNT(DISTINCT(仓库号)) FROM 仓库;

--5/显示使用员工的工资总和;
SELECT SUM(工资) FROM 职工;

--6/显示w1仓库号的工资总和;
SELECT SUM(工资) FROM 职工 WHERE 仓库号='w1';

--7/显示上海地区的工资总和;
  ---先在仓库表中查询出属于上海地区的仓库号;
SELECT SUM(工资) FROM 职工 WHERE 仓库号 IN (SELECT 仓库号 FROM 仓库 WHERE 城市='上海');

--8/显示w1仓库中工资大于1500的职工的平均工资;先求出符合条件的工资总和、职工人数,再求值;
SELECT SUM(工资)/COUNT(*) FROM 仓库 WHERE 仓库号='w1' AND 工资>1500;

--9/显示工资大于平均工资的职工的总人数、工资总和;
SELECT COUNT(*),SUM(工资) FROM 职工 WHERE 工资>(SELECT SUM(工资)/COUNT(*) FROM 职工);

--10、显示评语信息,如果最大工资与最小工资之差超过200,则评语为“工资差别大”,否则为“工资差别小”;
SELECT MAX(工资)-MIN(工资) AS 工资差,工资评语=
  CASE 
    WHEN MAX(工资)-MIN(工资)>200 THEN "工资差别大"
    ELSE "工资差别小"
  END
FROM 职工 ;

--11/显示工资大于仓库号为W1中最大工资的职工信息;
SELECT * FROM 职工 WHERE 工资>(SELECT  MAX(工资) FROM 职工 WHERE 仓库号='W1');

--12/显示除了工资最高、最低的职工的所有信息;
SELECT * FROM 职工 WHERE 工资 NOT IN ((SELECT MAX(工资) FROM 职工),(SELECT MIN(工资) FROM 职工));

--13、添加平均工资虚拟字段:  每一个记录后面都添加一个值相同的字段;
SELECT *,AVG(工资) AS 平均工资 FROM 职工;

--14、显示职工工资与其对应的仓库的平均工资之差:
  --先按仓库分组,并求出各组的平均值,以此结果为一个表,命名为aaa;
  --以表aaa和表fruits(别名为ff)结合查询,用仓库号关联;
select ff.*,aaa.平均工资,ff.工资-aaa.平均工资 
from 职工 as ff,(select 仓库号,avg(工资) as 平均工资 from 职工 group by 仓库号) as aaa 
where ff.仓库号=aaa.仓库号


--15/显示面积最大和面积最小的职工信息;
select * from 职工 
where 仓库号 in (select 仓库号 from 仓库 where 面积 in ((select max(面积) from 仓库),(select min(面积) from 仓库)))

书籍上的学习笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Sqlserver 中如何通过group by 实现分组合并

--------------------第一步:新建表:Test---------------------------- CREATE TABLE test(id varchar...

mysql命令汇总,持续更新中……

1、查看当前有哪些数据库 mysql> show databases; 2、创建一个数据库 mysql> create database mydatabase; 3、选择所创建的数据库 mysql> ...

PreparedStatement相较Statement的好处

PreparedStatement与Statement:        在写java程序时,使用Statement来查询数据库总是会出现这样的问题:Sql查询语句中如果有单引号‘’’,程序会出现异常...

MySQL中/*!代码 ……*/的使用

运行脚本文件时,时常看到这样的信息: /!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT /; /!40101 SET @OL...

针对sql错误:“除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效”的原理与解决

执行sql语句: select * from ( select * from tab where ID>20 order by userID desc ) as a order by da...

mongod统计(类似sql group by)aggregate函数使用方法

使用方法: db.collection.aggregate([array]); array可是是任何一个或多个操作符。 操作符介绍: $project:包含、排除、重命名和显示字段 $mat...

SQL编程实例:Access数据库,两张表的统计,count、sum聚合函数的使用,iif的使用,group by的使用

使用工具: FineReport报表设计器,Access数据库 需求描述: 有两张表,订单表和订单明细表 1、订单表结构: 2、订单明细表结构: 目的:根据这两张表做出下面...

mysql常用查询:group by,左连接,子查询,having where

前几天去了两个比较牛的互联网公司面试,在sql这块都遇到问题了,哎,可惜呀,先把简单的梳理一下 成绩表 score 1、group by 使用 按某一个维度进行分组 例如: 求每个同学的总分 SE...

Python进行数据的Group by、取最大值、子查询及从分表取数据一例

1、从分表之一预计算 select A.room_id,SUBSTRING(A.created_time,1,10) days,max(A.online_count) from room_onli...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)