单链表
第一题
#将所有员工薪水修改为5000元
UPDATE employee SET salary=5000;
#将姓名为’zhangsan’的员工薪水修改为3000元
UPDATE employee SET salary=3000 WHERE NAME ='zhangsan';
#将姓名为’lisi’的员工薪水修改为4000元,gender改为female
UPDATE employee SET salary = 4000 , gender='女' WHERE NAME='lisi';
#将xiaohong的薪水在原有基础上增加1000元
UPDATE employee SET salary=salary+1000 WHERE NAME='xiaohong';
第二题
#查询表中所有学生的信息。
SELECT *FROM student;
#查询表中所有学生的姓名和对应的英语成绩
SELECT NAME,english FROM student;
#过滤表中重复数据。
SELECT DISTINCT*FROM student;
#统计每个学生的总分。
SELECT *,chinese+english+math AS grade FROM student;
#在所有学生总分数上加10分特长分。
SELECT *,chinese+english+math +10 AS grade FROM student ;
#使用别名表示学生分数。
SELECT *,chinese+math+english AS 总分 FROM student;
#查询姓名为李一五的学生成绩
SELECT * FROM student WHERE NAME='李一五';
#查询英语成绩大于90分的同学
SELECT * FROM student WHERE english>90;
#查询总分大于200分的所有同学
SELECT * FROM student WHERE chinese+math+english>200;
#查询英语分数在 80-90之间的同学。
SELECT * FROM student WHERE english BETWEEN 80 AND 90;
#查询数学分数为89,90,91的同学。
SELECT * FROM student WHERE math IN(89,90,91);
#查询所有姓李的学生英语成绩。
SELECT * FROM student WHERE NAME LIKE '李%';
#查询数学分>80并且语文分>80的同学。
SELECT * FROM student WHERE math>80 AND chinese>80;
#查询英语>80或者总分>200的同学
SELECT * FROM student WHERE english>80 AND chinese+english+math>200;
#对数学成绩排序后输出。
SELECT * FROM student student ORDER BY math;
#对总分排序后输出,然后再按从高到低的顺序输出
SELECT *,chinese+english+math AS 总分 FROM student ORDER BY 总分 DESC;
#对姓李的学生成绩排序输出
SELECT * FROM student WHERE NAME LIKE '李%' ORDER BY math DESC;
#1. 查询出部门编号为30的所有员工
SELECT *FROM dept WHERE deptno=30;
#2. 所有销售员的姓名、编号和部门编号。
SELECT ename,empno,deptno FROM emp WHERE job='销售员';
#3. 找出奖金高于工资的员工。
SELECT * FROM emp WHERE sal<comm;
#4. 找出奖金高于工资60%的员工。
SELECT * FROM emp WHERE sal*0.6<comm;
#5. 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料。
SELECT * FROM emp WHERE (deptno=10 AND job='经理') OR (deptno=20 AND job='销售员');
#6. 找出部门编号为10中所有经理,部门编号为20中所有销售员,还有即不是经理又不是销售员但其工资大或等于20000的所有员工详细资料。
SELECT *FROM emp WHERE (deptno=10 AND job='经理') OR (deptno=20 AND job='销售员')OR(job NOT IN ('经理','销售员')AND sal>=20000);
#7. 无奖金或奖金低于1000的员工。
SELECT *FROM emp WHERE comm IS NULL OR comm <1000;
#8. 查询名字由三个字组成的员工。
SELECT *FROM emp WHERE ename LIKE '___';
#9.查询2000年入职的员工。
SELECT *FROM emp WHERE hiredate LIKE '2000-%';
#10. 查询所有员工详细信息,用编号升序排序
SELECT *FROM emp ORDER BY empno;
#11. 查询所有员工详细信息,用工资降序排序,如果工资相同使用入职日期升序排序
SELECT *FROM emp ORDER BY sal DESC,hiredate ASC;
#12. 查询每个部门的平均工资
SELECT deptno,AVG(sal)FROM emp GROUP BY deptno;
#13. 查询每个部门的雇员数量。
SELECT deptno,COUNT(*) 雇员数量 FROM emp GROUP BY deptno;
#14 查询每种工作的最高工资、最低工资、人数
SELECT job,MAX(sal)最高工资,MIN(sal)最低工资,COUNT(*)人数 FROM emp GROUP BY job;