SQL语句之INSERT及UPDATE

 1 # INSERT语句写入一条或多条记录的语法
 2 INSERT INTO t_dept(deptno,dname,loc) VALUES(50,"技术部","北京");
 3 INSERT INTO t_dept(deptno,dname,loc) VALUES(60,"后勤部","北京"),(70,"保安部","北京");
 4 # 向技术部添加一员工记录
 5 INSERT INTO t_emp(empno,ename,job,mgr,hiredate,sal,comm,deptno)
  VALUES(8001,"刘娜","SALESMAN",8000,"1988-12-20",2000,NULL,(SELECT deptno FROM t_dept WHERE dname="技术部")); 6 # INSERT方言 7 INSERT INTO t_emp SET empno=8002,ename="JACK",job="SALESMAN",mgr=8000,hiredate="1985-3-14",sal=2500,comm=NULL,deptno=50; 8 # IGNORE关键字 9 INSERT IGNORE INTO t_dept(deptno,dname,loc) VALUES(40,"技术部","北京"),(80,"人事部","北京"); 10 # UPDATE每个员工的编号和上司的编号都加1,用ORDER BY子句完成。 11 UPDATE t_emp SET empno=empno+1,mgr=mgr+1 ORDER BY empno DESC; 12 # UPDATE月收入前三的员工底薪减去100元,用LIMIT子句完成。 13 UPDATE t_emp SET sal=sal-100 ORDER BY (sal+IFNULL(comm,0)) DESC LIMIT 3; 14 # 10部门里面工龄超过20年的员工底薪增加200元 15 UPDATE t_emp SET sal=sal+200 WHERE deptno=10 AND DATEDIFF(NOW(),hiredate)/365>=20; 16 # 把ALLEN调往RESEARCH部门,职位改成ANYLYST 17 UPDATE t_emp e JOIN t_dept d SET e.deptno=d.deptno,e.job="ANALYST" WHERE e.ename="ALLEN" AND d.dname="RESEARCH"; 18 # 底薪低于公司平均底薪的员工,底薪增加150 19 UPDATE t_emp e JOIN (SELECT AVG(sal) avg FROM t_emp) t ON e.sal<t.avg SET e.sal=e.sal+150 20 # 把没有部门的员工或者SALES底薪低于2000的员工都调往20部门 21 UPDATE t_emp e LEFT JOIN t_dept d ON e.deptno=d.deptno SET e.deptno=20 WHERE e.deptno IS NULL OR(d.dname="SALES" AND e.sal<2000);

表连接,表连接还是表连接,重要的事情说三遍

猜你喜欢

转载自www.cnblogs.com/fly10086/p/12514636.html