Table
emp
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
EMPNO | int(4) | NO | PRI | NULL | |
ENAME | varchar(10) | YES | NULL | ||
JOB | varchar(9) | YES | NULL | ||
MGR | int(4) | YES | NULL | ||
HIREDATE | date | YES | NULL | ||
SAL | double(7,2) | YES | NULL | ||
COMM | double(7,2) | YES | NULL | ||
DEPTNO | int(2) | YES | MUL | NULL |
Table
dept
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
DEPTNO | int(2) | NO | PRI | NULL | |
DNAME | varchar(14) | YES | NULL | ||
LOC | varchar(13) | YES | NULL |
Table
salgrade
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
GRADE | int(11) | YES | NULL | ||
LOSAL | int(11) | YES | NULL | ||
HISAL | int(11) | YES | NULL |
SELECT *
FROM scott.emp
WHERE DEPTNO = 30
SELECT
EMPNO,
ENAME,
DEPTNO
FROM scott.emp
WHERE JOB = 'clerk'
SELECT *
FROM scott.emp
WHERE COMM > SAL
SELECT *
FROM scott.emp
WHERE COMM > SAL * 0.3
SELECT *
FROM scott.emp
WHERE (DEPTNO = 10 AND JOB = 'manager') OR (DEPTNO = 20 AND JOB = 'clerk')
SELECT *
FROM scott.emp
WHERE (DEPTNO = 10 AND JOB = 'manager') OR (DEPTNO = 20 AND JOB = 'clerk') OR
(JOB NOT IN ('manager', 'clerk') AND (sal + ifnull(COMM, 0)) > 2000)
SELECT DISTINCT job
FROM scott.emp
WHERE COMM > 0
SELECT *
FROM scott.emp
WHERE COMM < 100 OR COMM IS NULL
SELECT *
FROM scott.emp
WHERE HIREDATE = last_day(HIREDATE);
SELECT *
FROM scott.emp
WHERE date_add(HIREDATE, INTERVAL 1 YEAR) > now();
UPDATE scott.emp
SET HIREDATE = '2014-11-22
WHERE ENAME = 'king';
SELECT *
FROM scott.emp
WHERE substr(ENAME, 1, 1) IN ('a', 'b', 's');
SELECT *
FROM scott.emp;
SELECT *
FROM scott.emp
WHERE length(ENAME) = 4;
SELECT *
FROM scott.emp
WHERE ENAME NOT LIKE '%r%';
SELECT substr(ename, 1, 3)
FROM scott.emp;
SELECT replace(ename, 'A', 'a')
FROM scott.emp;
SELECT date_add(hiredate, INTERVAL 10 YEAR)
FROM scott.emp;
SELECT *
FROM scott.emp
ORDER BY ENAME;
SELECT *
FROM scott.emp
ORDER BY HIREDATE;
SELECT *
FROM scott.emp
ORDER BY JOB DESC, SAL + ifnull(COMM, 0);
SELECT
ename,
hiredate,
extract(YEAR FROM hiredate) year,
extract(MONTH FROM hiredate) month
FROM scott.emp
ORDER BY extract(MONTH FROM hiredate), HIREDATE;
SELECT round((sal + ifnull(COMM, 0)) / 30, 2)
FROM scott.emp;
SELECT *
FROM scott.emp
WHERE extract(MONTH FROM HIREDATE) = 2;
SELECT datediff(now(), hiredate)
FROM scott.emp;
SELECT *
FROM scott.emp
WHERE ENAME LIKE '%a%';
# ?
SELECT DISTINCT
d.DEPTNO,
d.DNAME
FROM scott.dept d, scott.emp e
WHERE e.DEPTNO = d.DEPTNO;
SELECT *
FROM scott.emp
WHERE sal + ifnull(COMM, 0) >
(
SELECT sal + ifnull(COMM, 0)
FROM scott.emp
WHERE ENAME = 'scott'
);
SELECT
e1.ENAME,
e2.ENAME
FROM scott.emp e1, scott.emp e2
WHERE e1.MGR = e2.EMPNO;
SELECT
e1.ENAME,
e2.ENAME
FROM scott.emp e1, scott.emp e2
WHERE e1.MGR = e2.EMPNO AND e1.HIREDATE < e2.HIREDATE;
SELECT
e.ename,
d.dname
FROM scott.emp e, scott.dept d
WHERE e.DEPTNO = d.DEPTNO;
SELECT
e.ename,
d.dname
FROM scott.emp e, scott.dept d
WHERE e.DEPTNO = d.DEPTNO AND JOB = 'clerk';
SELECT
deptno,
min(sal + ifnull(comm, 0))
FROM scott.emp
GROUP BY DEPTNO;
SELECT e.ename
FROM scott.emp e, scott.dept d
WHERE e.DEPTNO = d.DEPTNO AND d.DNAME = 'sales';
SELECT *
FROM scott.emp
WHERE sal + ifnull(COMM, 0) >
(
SELECT avg(sal + ifnull(COMM, 0))
FROM scott.emp
);
SELECT *
FROM scott.emp
WHERE job =
(
SELECT job
FROM scott.emp
WHERE ENAME = 'scott'
);
SELECT
ENAME,
sal + ifnull(COMM, 0)
FROM scott.emp
WHERE sal + ifnull(COMM, 0) = (
SELECT avg(sal + ifnull(COMM, 0))
FROM scott.emp
WHERE DEPTNO = 30
);
SELECT *
FROM scott.emp
WHERE sal + ifnull(COMM, 0) > (
SELECT avg(sal + ifnull(COMM, 0))
FROM scott.emp
WHERE DEPTNO = 30
);
SELECT
d.deptno,
d.dname,
d.loc,
count(e.deptno)
FROM scott.emp e RIGHT OUTER JOIN scott.dept d
ON e.DEPTNO = d.DEPTNO
GROUP BY e.DEPTNO;
SELECT
e.ename,
d.dname,
e.sal + ifnull(e.comm, 0)
FROM scott.emp e, scott.dept d
WHERE e.DEPTNO = d.DEPTNO;
SELECT
e1.ename,
e1.job,
e1.deptno,
e2.ename,
e2.job,
e2.deptno
FROM scott.emp e1, scott.emp e2
WHERE e1.DEPTNO <> e2.DEPTNO AND e1.JOB = e2.JOB;
SELECT
e.*,
d.dname
FROM scott.emp e, scott.dept d
WHERE e.DEPTNO = d.DEPTNO;
SELECT
job,
min(sal + ifnull(comm, 0))
FROM scott.emp
GROUP BY JOB;
SELECT min(sal + ifnull(comm, 0))
FROM scott.emp
WHERE JOB = 'manager'
GROUP BY DEPTNO;
SELECT (sal + ifnull(comm, 0)) * 12
FROM scott.emp
ORDER BY 1;
SELECT
e.ename,
e.sal + ifnull(e.comm, 0),
s.LOSAL,
s.HISAL
FROM scott.emp e, scott.salgrade s
WHERE e.sal + ifnull(e.comm, 0) BETWEEN s.LOSAL AND s.HISAL AND s.GRADE = 4;