数据库的inner join和left join以及right join的区别
参考:https://www.cnblogs.com/lijingran/p/9001302.html
1.inner join是在两张表进行连接查询时,只保存完全匹配的结果集。
SELECT p.LastName, p.FirstName, o.OrderNo FROM Persons p INNER JOIN Orders o ON p.Id_P=o.Id_P and 1=1 --用and连接多个条件 ORDER BY p.LastName
还要理解一下inner join和关联连接的区别。
from a join b 与 from a, b 产生的临时表结果集都是执行笛卡尔积即(select * from a cross join b )两表的行乘积数。
2.left join 在连接查询时,会返回左表中的所有行,即使在右表中没有相应的匹配数据。
SELECT p.LastName, p.FirstName, o.OrderNo FROM Persons p LEFT JOIN Orders o ON p.Id_P=o.Id_P ORDER BY p.LastName
3.right join 在连接查询时,会返回右表中的所有行,即使在左表中没有相应的匹配数据。
SELECT p.LastName, p.FirstName, o.OrderNo FROM Persons p RIGHT JOIN Orders o ON p.Id_P=o.Id_P ORDER BY p.LastName
4.full join,在两张表进行连接查询时,返回左表和右表中所有没有匹配的行。
SELECT p.LastName, p.FirstName, o.OrderNo FROM Persons p FULL JOIN Orders o ON p.Id_P=o.Id_P ORDER BY p.LastName
mysql数据库怎么进行分页
1.一般情况下,客户端通过传递 pageNo(页码)、pageSize(每页条数)两个参数去分页查询数据库中的数据,在数据量较小(元组百/千级)时使用 MySQL自带的 limit来解决这个问题。
收到客户端{pageNo:1,pagesize:10}
select * from table limit (pageNo-1)*pageSize, pageSize;
收到客户端{pageNo:5,pageSize:30}
select * from table limit (pageNo-1)*pageSize,pageSize;
2.建立主键或者唯一索引
假设主键或者唯一索引为 good_id
收到客户端{pageNo:5,pagesize:10}
select * from table where good_id > (pageNo-1)*pageSize limit pageSize;
–返回good_id为40到50之间的数据
3.select * from table where good_id > (pageNo-1)*pageSize order by good_id limit pageSize;
–返回good_id为40到50之间的数据,数据依据good_id顺序排列。
servlet的生命周期
Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:
对jsp中response的理解
response对象用于响应客户端输出信息。它封装了JSP产生的相应,并发送到客户端以响应客户端的请求。请求的数据可以是各种数据类型,甚至是文件。response对象在JSP页面内有效。
response的功能
1,重定向网页 response.sendRedirect("path"); path:可以是目标路径也可以是绝对路径
2,禁用缓存 response.setHeader("Cache-Control","no-store"
3,设置页面自动刷新 response.setHeader("refresh","time"); time:根据自己设置,单位为秒
4,定时跳转网页 response.setDateHeader("refresh","5;URL=path"); path:可以是目标路径也可以是绝对路径
5,设置输出缓冲 response.setBufferSize(int Size); 设置缓冲区大小
response.reset(); 清除缓冲区内容
response.isCommitted(); 监测服务器是否把数据写入客户端
response.flushBuffer(); 刷新,强制将数据写入客户端
response.getBufferSize(); 获得缓冲区的实际大小,没有缓冲区则返回为0