首页 > 数据库 >mysql基础 -- 单表练习

mysql基础 -- 单表练习

时间:2023-04-25 21:15:13浏览次数:45  
标签:ename sal -- 1981 VALUES emp mysql SELECT 单表

drop table if exists emp;
create table emp(
empno int,
ename varchar(50),
job varchar(50),
mgr int,
hiredate date,
sal decimal(7,2),
comm decimal(7,2),
deptno int
)engine=innodb default charset=utf8;

INSERT INTO emp VALUES(7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20);
INSERT INTO emp VALUES(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30);
INSERT INTO emp VALUES(7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30);
INSERT INTO emp VALUES(7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20);
INSERT INTO emp VALUES(7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250,1400,30);
INSERT INTO emp VALUES(7698,'BLAKE','MANAGER',7839,'1981-05-01',2850,NULL,30);
INSERT INTO emp VALUES(7782,'CLARK','MANAGER',7839,'1981-06-09',2450,NULL,10);
INSERT INTO emp VALUES(7788,'SCOTT','ANALYST',7566,'1987-04-19',3000,NULL,20);
INSERT INTO emp VALUES(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10);
INSERT INTO emp VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500,0,30);
INSERT INTO emp VALUES(7876,'ADAMS','CLERK',7788,'1987-05-23',1100,NULL,20);
INSERT INTO emp VALUES(7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30);
INSERT INTO emp VALUES(7902,'FORD','ANALYST',7566,'1981-12-03',3000,NULL,20);
INSERT INTO emp VALUES(7934,'MILLER','CLERK',7782,'1982-01-23',1300,NULL,10);
  1. 查询工资大于1200的员工姓名和工资
SELECT ename,sal 
FROM emp 
WHERE sal > 1200;
  1. 查询员工号为7698的员工的姓名和部门号
SELECT ename,deptno 
FROM emp 
WHERE empno = 7698;
  1. 选择工资不在500到1200的员工的姓名和工资
SELECT ename,sal 
FROM emp 

WHERE NOT ( sal BETWEEN 500 AND 1200 );
4. 选择雇用时间在1981-02-01到1987-05-01之间的员工姓名,编号和雇用时间

SELECT ename, empno, hiredate 
FROM emp 
WHERE hiredate BETWEEN "1981-02-01" AND "1987-05-01";
  1. 选择在20或30号部门工作的员工姓名和部门号
SELECT ename, deptno
FROM emp
where deptno in (20,30);
  1. 选择在1981年雇用的员工的姓名和雇用时间
SELECT ename, hiredate
FROM emp
WHERE YEAR(hiredate)="1981";
  1. 选择公司中没有管理者的员工姓名及empno
SELECT ename, empno
FROM emp
WHERE mgr IS NULL;
  1. 选择公司中有奖金的员工姓名,工资和奖金级别
SELECT ename, sal, comm
FROM emp
WHERE comm is not null and not CEIL(comm) = 0;
  1. 选择员工姓名的第三个字母是a的员工姓名
SELECT ename
FROM emp 
where ename LIKE "__a%";
  1. 选择姓名中有字母a和e的员工姓名
SELECT ename
FROM emp
WHERE ename LIKE "%a%" or ename LIKE "%e%";
  1. 查询员工号,姓名,工资,以及工资提高百分之20%后的结果(new salary)
SELECT empno, ename, sal, sal*1.2 "new salary"
FROM emp;
  1. 将员工的姓名按首字母排序
select ename
FROM emp
ORDER BY ename;
  1. 查询公司员工工资的最大值,最小值,平均值,总和
SELECT max(sal), min(sal), avg(sal), sum(sal)
from emp;
  1. 查询各deptno的员工工资的最大值,最小值,平均值,总和
SELECT max(sal), min(sal), avg(sal), sum(sal), deptno
FROM emp
GROUP BY deptno;
  1. 选择具有各个deptno的员工人数
SELECT deptno, count(*)
FROM emp
GROUP BY deptno;

标签:ename,sal,--,1981,VALUES,emp,mysql,SELECT,单表
From: https://www.cnblogs.com/paopaoT/p/17353836.html

相关文章

  • 实验三
    importrandomprint('用列表存储随机整数:')lst=[random.randint(0,100)foriinrange(5)]print(lst)print('\n用集合存储随机整数:')s1={random.randint(0,100)foriinrange(5)}print(s1)print('\n用集合存储随机整数:')s2=set()whilelen(......
  • lazarus - Free Pascal 之 文件处理
    今儿来写写如何使用FreePascal处理文件,感觉挺有用的任务一:写helloworld到文件1procedureTForm1.Button1Click(Sender:TObject);2var3f:TextFile;4begin5AssignFile(f,'hello.txt');6ReWrite(f);7Write(f,'helloworld');8CloseFile(f);9......
  • NC25045 [USACO 2007 Jan S]Balanced Lineup
    题目链接题目题目描述Forthedailymilking,FarmerJohn'sNcows(1≤N≤100,000)alwayslineupinthesameorder.OnedayFarmerJohndecidestoorganizeagameofUltimateFrisbeewithsomeofthecows.Tokeepthingssimple,hewilltakeacontiguous......
  • VS-tree检索过程
    根据编码后的边标签和节点标签,来不断筛选不符合的情况。......
  • python MAP
    MapMap会将一个函数映射到一个输入列表的所有元素上。这是它的规范:规范map(function_to_apply,list_of_inputs)大多数时候,我们要把列表中所有元素一个个地传递给一个函数,并收集输出。比方说:items=[1,2,3,4,5]squared=[]foriinitems:squared.append(i*......
  • Lyndon 小记
    神秘科技。定义一个串为Lyndon串,当且仅当这个串的最小表示法是它本身。定义一个串的拆分为Lyndon分解,当且仅当每个拆分都是Lyndon串,且\(s_i\geqs_{i+1}\)。求出某个串的Lyndon分解可以用Duval算法,该算法可以\(O(n)\)求出这个串的Lyndon分解。这个算法的流程如......
  • PYTHON FILTER
    Filter顾名思义,filter过滤列表中的元素,并且返回一个由所有符合要求的元素所构成的列表,符合要求即函数映射到该元素时返回值为True.这里是一个简短的例子:number_list=range(-5,5)less_than_zero=filter(lambdax:x<0,number_list)print(list(less_than_zero))#......
  • PYTHON REDUCE
    Reduce当需要对一个列表进行一些计算并返回结果时,Reduce是个非常有用的函数。举个例子,当你需要计算一个整数列表的乘积时。通常在python中你可能会使用基本的for循环来完成这个任务。现在我们来试试reduce:fromfunctoolsimportreduceproduct=reduce((lambdax......
  • 山东大学数据结构实验七
    卡片游戏tips:这个题还要参考,同学要加油啦~~要求创建队列类,使用数组描述的循环队列实现卡片游戏描述假设桌上有一叠扑克牌,依次编号为1-n(从上至下)。当至少还有两张的时候,可以进行操作:把第一张牌扔掉,然后把新的第一张(原先扔掉的牌下方的那张牌,即第二张牌)放到整叠牌的最后。......
  • 类加载器
    类与类加载器任意一个类,都由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一个类加载器,都有一个独立的类名称空间。因此,比较两个类是否“相等”,只有在这两个类是由同一个类加载器加载的前提下才有意义,否则,即使这两个类来源于同一个Class文件,被同一个虚拟......