将两个查询结果合并(可以是不同表)
注意:MySQL要求字段数量相同
mysql> select ename,job from emp where job="clerk" -> union -> select ename,job from emp where job="manager"; +--------+---------+ | ename | job | +--------+---------+ | SMITH | CLERK | | ADAMS | CLERK | | JAMES | CLERK | | MILLER | CLERK | | JONES | MANAGER | | BLAKE | MANAGER | | CLARK | MANAGER | +--------+---------+ 7 rows in set (0.08 sec)
1、找出员工表中前5条记录
mysql> select * from emp limit 5; +-------+--------+----------+------+------------+---------+---------+--------+ | EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO | +-------+--------+----------+------+------------+---------+---------+--------+ | 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.00 | NULL | 20 | | 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30 | | 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 | | 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20 | | 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250.00 | 1400.00 | 30 | +-------+--------+----------+------+------------+---------+---------+--------+ 5 rows in set (0.00 sec)
以上limit 5中的5代表从表中记录0开始,取5条记录,等同于下面的SQL语句
mysql> select * from emp limit 0,5;
2、找出公司中工资排名前5名员工(思路:按照工资降序排的前5个)
mysql> select ename,sal from emp order by sal desc limit 0,5; +-------+---------+ | ename | sal | +-------+---------+ | KING | 5000.00 | | SCOTT | 3000.00 | | FORD | 3000.00 | | JONES | 2975.00 | | BLAKE | 2850.00 | +-------+---------+ 5 rows in set (0.00 sec)
3、按照工资排在3-9名的员工
mysql> select ename,sal from emp order by sal desc limit 2,8; +--------+---------+ | ename | sal | +--------+---------+ | FORD | 3000.00 | | JONES | 2975.00 | | BLAKE | 2850.00 | | CLARK | 2450.00 | | ALLEN | 1600.00 | | TURNER | 1500.00 | | MILLER | 1300.00 | | MARTIN | 1250.00 | +--------+---------+ 8 rows in set (0.00 sec)
limit 起始下标,长度
如果起始下标没有指定,默认从0开始,0代表表中第一条记录
以下是MySQL通用的分页SQL语句
第pageno页
mysql> select -> ename,sal -> from -> emp -> order by -> sal desc -> limit (pageno-1)*pagesize,pagesize;
给字段添加默认值:default
mysql> drop table if exists t_user;#删除表,如果t_user存在,则删除 Query OK, 0 rows affected, 1 warning (0.23 sec) mysql> create table tableName(#表名 -> ColumnName(字段名) dataType(length)(数据类型,字段长度) -> );
…….