使用sql语句在emp员工表中实现各种操作
使用sql语句在emp员工表中实现各种操作
emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno所属部门编号)
工资 = 薪金 + 佣金
在emp 表中完成如下练习:
1、 在emp表中查询出所有记录的姓名、部门编号、薪水,并且列名要显示为中文。
2、 在emp表中查询出薪水大于1500的记录,并且按照薪水的降序排列。
3、 在emp表中查询出comm字段为空值的记录。
4、 查询出emp表中含有几个部门的记录。(用DISTINCT去除重复记录)
5、 在emp表中查询出部门编号为10或20的记录(要求使用IN关键字)
6、 在emp表中查询出姓名的第二个字母为A的记录。
7、 查询出emp表中总共有多少条记录。
8、 查询emp表中出每个部门的部门代码、薪水之和、平均薪水。
具体实现如下:
#创建数据库
CREATE DATABASE test1;
#创建表
CREATE TABLE emp;
#使用数据库
USE test1;
#创建列名
CREATE TABLE emp (empno int(11) NOT NULL AUTO_INCREMENT,ename varchar(20),job varchar(30),mgr int(11),hiredate varchar(20),sal double(10,2),comm double(10,2),deptno int(11),PRIMARY KEY (empno)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
# 赋值
Insert into emp values(
(1,'张三','经理',10,'2010/10/05',10000.00,5000.00,10),
(2,'李四','秘书',8,'2012/02/10',8000.00,4000.00,30),
(3,'may','员工',4,'2015/03/24',5100.00,2600.00,10),
(4,'马六','员工',4,'2015/08/16',5000.00,NULL,40),
(5,'孙七','经理',10,'2011/03/01',12000.00,5000.00,30),
(6,'赵八','秘书',8,'2013/06/18',8000.00,3000.00,20),
(7,'钱九','员工',4,'2015/02/29',5000.00,3500.00,20),
(8,'周十','员工',4,'2016/03/16',5000.00,NULL,30)
);
问题解答:
# 1.在emp表中查询出所有记录的姓名、部门编号、薪水,并且列名要显示为中文。
SELECT *FROM emp;
SELECT ename AS '员工姓名',IFNULL(sal,0)+IFNULL(comm,0) AS '薪金' ,deptno AS '所属部门编号' FROM emp;
# 2、在emp表中查询出薪水大于1500的记录,并且按照薪水的降序排列。
SELECT *FROM emp ORDER BY (IFNULL(sal,0)+IFNULL(comm,0))>1500 DESC;
# 3、在emp表中查询出comm字段为空值的记录。
SELECT *FROM emp WHERE comm IS NULL;
# 4、查询出emp表中含有几个部门的记录。(用DISTINCT去除重复记录)
SELECT COUNT(DISTINCT deptno)AS '部门总数' FROM emp;
# 5、在emp表中查询出部门编号为10或20的记录(要求使用IN关键字)
SELECT *FROM emp WHERE deptno IN(10,20);
# 6、在emp表中查询出姓名的第二个字母为A的记录。
SELECT *FROM emp WHERE ename LIKE "_A%";
# 7、查询出emp表中总共有多少条记录。
SELECT COUNT(*)AS '总记录数' FROM emp;
# 8、查询emp表中出每个部门的部门代码、薪水之和、平均薪水。
SELECT AVG(sal+IFNULL(comm,0))AS '平均薪水',SUM(sal+IFNULL(comm,0))AS '薪水之和',deptno AS '部门编号' FROM emp GROUP BY deptno;
使用sql语句在emp员工表中实现各种操作相关推荐
- 编写SQL语句,检索Customers表中所有的列,再编写另外的SELECT语句,仅检索顾客的ID
问题: 编写SQL语句,检索Customers表中所有的列,再编写另外的SELECT语句,仅检索顾客的ID.使用注释,注释掉一条SELECT语句,以便运行另一条SELECT语句.(当然,要测试这两个语 ...
- 编写SQL语句,从Customers表中检索所有的ID(cust_id)
问题: 编写SQL语句,从Customers表中检索所有的ID(cust_id) 答案: SELECT cust_idFROM Customers; SQL语句中用来检索信息的就是SELECT语句了. ...
- 使用 SQL 语句从数据库一个表中随机获取一些数据
以前从一个表中随机获取数据的时候,都是先把数据读取到来, 然后再在程序中来随机抽取一部分数据, 今天告诉大家一种使用 SQL 语句的方法来随机获取一部分数据 SQL Server: -- 随机获取 1 ...
- drop sql语句_用于从表中删除数据SQL Drop View语句
drop sql语句 介绍 (Introduction) This guide covers the SQL statement for dropping (deleting) one or more ...
- sql语句-如何以一个表中的数据为条件据查询另一个表中的数据
下面这个是SQL语句的一个基本样式: select *from 表2where 姓名 in (select 姓名from 表1where 条件) 实例需求:在项目中是这样应用的:我需要根据库位编号去查 ...
- 【SQL】利用sql语句在mysql的表中插入date类型的数据,
文中可能有错,请谨慎实施 一. 创建一个数据库 create database test 二. 在数据库中创建表 create TABLE employees (emp_no int(4) not n ...
- ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息。
ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息. 在sqlplus中执行下面语句: select job from emp: 显示结果如下: SQL> se ...
- ACCESS中写SQL语句时尽量把表名和字段名用中括号括起来
ACCESS中写SQL语句时尽量把表名和字段名用中括号括起来,一般都要写成: [TableName].FieldName,否则较长的中文名表名可能会被不识别.
- mysql查询员工表中所有员工入职20个月之后的日期_Mysql基础教程
往期推荐 2020黑马Python教程 Docker基础知识 网易云课堂2019 Java高级教程 郭术生AE教程 SQL语句分类 DDL:数据定义语言,用来定义数据库对象:库.表.列等 DML:数据 ...
最新文章
- mssql sqlserver 模拟for循环的写法
- GPIO及中断API函数
- hp服务器 新增硬盘_HP服务器linux操作系统如何添加硬盘
- EhCache 常用配置项详解
- mybatis中association和collection的column传入多个参数值
- 适合初学者的安卓开源项目_开源初学者的6个起点
- 十九.激光和惯导LIO-SLAM框架学习之项目工程代码介绍---代码框架和一些文件解释
- nodejs生成UID(唯一标识符)——node-uuid模块
- 护壁桩嵌入深度_钻孔灌注桩嵌岩深度最少多少
- 绿盾加密软件怎么暂停_天锐绿盾加密软件 应用程序限制 网络端口限制 流量限制...
- lzg_ad: WES7 技术概览
- ubuntu系统重装恢复步骤
- HDMI线、DP线、DVI线、VGA线
- Poco库学习——1
- 服务器系统2016开始菜单,大法将致:将Windows Server 2016打造成个人办公系统,WIN2016打造成超级WIN10,WIN2016优化设...
- java多线程学习笔记。
- WebGL简易教程——目录
- 00 | 基础编程题目集题解传送门
- 燕麦云何洋开讲丨真假海盗?黑客杠上好莱坞,还要把电影变成现实
- Qt:ui文件no member named actionXXX 解决方案