1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- DROP TABLE IF EXISTS emp;
- DROP TABLE IF EXISTS dept;
- CREATE TABLE dept(
- did INT PRIMARY KEY AUTO_INCREMENT,
- dname VARCHAR(20)
- );
- CREATE TABLE emp (
- id INT PRIMARY KEY AUTO_INCREMENT,
- NAME VARCHAR(10),
- gender CHAR(1),
- salary DOUBLE,
- join_date DATE,
- dep_id INT,
- FOREIGN KEY (dep_id) REFERENCES dept(did)
- );
- INSERT INTO dept (dNAME) VALUES ('研发部'),('市场部'),('财务部'),('销售部');
- INSERT INTO emp(NAME,gender,salary,join_date,dep_id) VALUES
- ('孙悟空','男',7200,'2013-02-24',1),
- ('猪八戒','男',3600,'2010-12-02',2),
- ('唐僧','男',9000,'2008-08-08',2),
- ('白骨精','女',5000,'2015-10-07',3),
- ('蜘蛛精','女',4500,'2011-03-14',1),
- ('小白龙','男',2500,'2011-02-14',null);
- select * from dept d , emp e;
- select * from dept d , emp e where d.did = e.dep_id ;
- select * from dept d inner join emp e on d.did = e.dep_id;
- select * from dept d join emp e on d.did = e.dep_id;
- select * from emp e left join dept d on d.did = e.dep_id;
- select * from dept d right join emp e on d.did = e.dep_id;
- select * from dept d left join emp e on d.did = e.dep_id;
- select e.salary from emp e where e.NAME="猪八戒";
- select * from emp e where e.salary > (
- select e.salary from emp e where e.NAME="猪八戒"
- );
- select did from dept d where d.dname in ( '财务部','市场部');
- select * from emp e where e.dep_id in (
- select did from dept d where d.dname in ( '财务部','市场部')
- )
- select e.* from emp e join dept d on d.did = e.dep_id where d.dname in ( '财务部','市场部');
- select * from emp e where e.join_date > '2011-11-11';
- select d.dname,e.* from dept d join (
- select e.NAME, e.dep_id from emp e where e.join_date > '2011-11-11'
- ) e on d.did = e.dep_id;
|