分页查询和联合查询09

 1 #分页查询 ☆
 2 /*
 3 应用场景:当要显示的数据,一页显示不全 需要分页提交sql请求
 4 
 5 语法:
 6     select 查询列表
 7     from 表
 8     【join type join 表2
 9     on 连接条件
10     where 筛选条件
11     group by 分组条件
12     having 分组后的筛选
13     order by 排序的字段 】、
14     limit offset,size;
15     
16     offset 要显示条目的起始索引 (起始索引从0开始)
17     size 要显示的条目个数
18 
19 特点:
20     1)limit语句放在查询语句最后
21     2)公式
22     要显示的页数 page ,每页的条目数size
23     
24     select 查询列表
25     from 表
26     limit (page-1)*size,size;
27 */
28 
29 #案例1:查询前五名员工的信息
30 
31 SELECT * FROM employees LIMIT 0,5;
32 SELECT * FROM employees LIMIT 5;
33 
34 #案例2:查询第11条到第25条
35 SELECT * FROM employees LIMIT 10,15;
36 
37 #案例3:有奖金的员工信息,并且工资较高的前10名显示出来
38 
39 SELECT * FROM employees
40 WHERE commission_pct IS NOT NULL
41 ORDER BY salary DESC
42 LIMIT 0,10;
43 
44 
45 #联合查询
46 /*
47 union 联合 合并:将多条查询语句的结果合并成一个结果
48 
49 语法:
50     查询语句1
51     union
52     查询语句2
53     union
54     ...
55 
56 应用场景:
57     要查询的结果来自多个表,且多个表没有直接连接关系,但是查询的信息一致时
58     
59 特点:☆
60     1)多条查询语句查询列数是一致的
61     2)多条查询语句查询的每一列类型和顺序最好一致
62     3)union 默认去重 union all 会显示重复项
63     
64 */
65 
66 #引入案例:查询部门编号大于90或邮箱包含a的员工信息
67 
68 SELECT * FROM employees WHERE  email LIKE '%a%' OR department_id >90;
69 
70 #使用联合查询 大的条件分割成多个
71 
72 SELECT * FROM employees WHERE email LIKE '%a%'
73 UNION
74 SELECT * FROM employees WHERE department_id>90;
75 
76 #案例:查询中国用户男性用户信息以及外国用户男性的信息
77 
78 SELECT id,cname,csex FROM t_ca WHERE csex=''
79 UNION 
80 SELECT t_id,tName,tgender FROM t_ua WHERE tgender='';

DQL

猜你喜欢

转载自www.cnblogs.com/zhengyinboke/p/11896368.html