数据库表连接总结:等值连接, 自然连接,左外连接,右外连接,内连接,全外连接;

【1】等值连接
1)连接:凡是查询涉及到两个以上的表,就需要将表连接;
2)就是用where子句做的连接查询;连接查询的列名可以不同;

【2】自然连接:
select * from 
a_tbl natual join  b_tbl
这就需要a_tbl 与 b_tbl 有相同的列且值相同;连接查询的列名可必须相同;

【3】左外连接
select * from 
a_tbl a left join  b_tbl b on  a.id = b.rcrd_id 
以a表为主表进行查询, 查询出a表的所有数据, b表中有连接数据则填充,如果没有则补null;

【4】右外连接:与左外连接类似;

【5】内连接:

左外连接和内连接的交集;

【6】全外连接
左外连接和右外连接的并集;

【注意】内连接与等值连接的区别:
转自:  http://www.cnblogs.com/huangfr/archive/2012/06/20/2555530.html
注意1)内连接:两个表(或连接)中某一数据项相等的连接称为内连接。
等值连接:一般用where字句设置条件,内连接一般用on字句设置条件,但内连接与等值连接效果是相同的。
注意2)内连接与等值连接其实是一回事情(等效)。
经常有人会问到select a.id,b.name from a,b where a.id=b.pid  与
select a.id,b.name from a inner join b on a.id=b.pid   有什么区别,哪个效率更高一些。

实际上一回事情了。只是内连接是由SQL 1999规则定的书写方式。两个说的是一码事。


注意3) 不过今天有同事说了:  连接查询的话,是先筛选数据行,然后再进行笛卡尔积; where子句查询的话,是先做笛卡尔积,然后再筛选数据行;


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/330754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站性能测试指标(QPS,TPS,吞吐量,响应时间)详解

转载自 网站性能测试指标(QPS,TPS,吞吐量,响应时间)详解常用的网站性能测试指标有:吞吐量、并发数、响应时间、性能计数器等。 并发数 并发数是指系统同时能处理的请求数量,这个也是反应了系统的…

Request获取参数封装方式

浏览器请求界面 1.获取参数手动封装数据 WebServlet("/ServletDemo4") public class ServletDemo4 extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//根据参数名获取…

Access restriction: The type 'BASE64Encoder' is not API 的解决方法

转自: https://www.mkyong.com/java/access-restriction-the-type-base64encoder-is-not-accessible-due-to-restriction/ If you insist want to use sun.misc.BASE64Encoder, in Eclipse, right click on the project, properties -> Java compiler –> Err…

Mycat - 数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件

转载自 Mycat - 数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件Mycat是什么 Mycat - 数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件! 一个彻底开源的,面向企业应用开发的大数据库集群支持事务…

响应对象Response

1.概念【响应给浏览器】 响应∶回馈结果。在B/S架构中,就是服务器给客户端浏览器反馈结果。响应对象∶就是在项目中用于发送响应的对象。实现接口:ServletResponse和HttpServletResponse【浏览器访问服务器后,服务器给客户端响应的数据会封装…

调用toString()方法的注意事项

【1】荔枝:Object转为 String; response.setContentType("text/html;charsetUTF-8"); PrintWriter out response.getWriter();request.setCharacterEncoding("UTF-8"); HttpSession session request.getSession(); //设置session超…

Java内存泄漏介绍

转载自 Java内存泄漏介绍内存管理是Java最重要的优势之一,你只需创建对象,Java垃圾收集器会自动负责分配和释放内存。但是,情况并不那么简单,因为在Java应用程序中经常发生内存泄漏。本章会说明什么是内存泄漏,为什么发…

Servlet请求和响应总结

1.解决乱码问题 通过Request的设置编码表方法和Respose设置浏览器展示编码表解决 //设置请求字符编码,防止乱码 req.setCharacterEncoding("utf-8"); //设置浏览器响应编码[html类型的文本,字符集为utf-8] resp.setContentType("text/html;charsetutf-8"…

java虚拟机采用UTF-16编码格式对字符进行编码

转自: https://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/ 【UTF-16】 说到 UTF 必须要提到 Unicode(Universal Code 统一码),ISO 试图想创建一个全新的超语言字典,世界上所有的语言都可以通过这本字典来…

服务高可用:幂等性设计

转载自 服务高可用:幂等性设计什么是幂等性? 一般在服务调用时,读服务如果调用失败了,会自动按配置次数转移到别的服务上去请求。而写服务就不能重复请求,如果因为超时或者网络故障等原因被调用服务并没有返回成功的响…

getParameterValues用法

<form name"checkform" method"post" action"getvalue.jsp"> 你希望学习哪些程式语言&#xff1a;<br> <input type"checkbox" name"langtype" value"JSP">JSP  <input type&q…

SQL分组取每组前一(或几)条记录(排名)

转自&#xff1a; https://www.cnblogs.com/netserver/p/4518995.html --按某一字段分组取最大(小)值所在行的数据 代码如下:/* 数据如下&#xff1a; name val memo a 2 a2(a的第二个值) a 1 a1--a的第一个值 a 3 a3:a的第三个值 b 1 b1--b的第一个值 b 3 b3:b的第三个…

会话技术Cookie

1.会话技术的概念 会话∶浏览器和服务器之间的多次请求和响应。为了实现一些功能&#xff0c;浏览器和服务器之间可能会产生多次的请求和响应&#xff0c;从浏览器访问服务器开始&#xff0c;到访问服务器结束(关闭浏览器、到了过期时间)。这期问产生的多次请求和响应加在一起…

终于搞懂了回车与换行的区别

转自&#xff1a; http://blog.csdn.net/fanwenbo/article/details/54848429 转载于&#xff1a;http://www.pythontab.com/html/2017/linuxkaiyuan_0115/1116.html 关于换行和回车其实平时我们不太在意&#xff0c;所以关于两者的区别也不太清楚&#xff0c;在平时开发时可能会…

分布式服务防雪崩熔断器,Hystrix理论+实战

转载自 分布式服务防雪崩熔断器&#xff0c;Hystrix理论实战Hystrix是什么&#xff1f; hystrix对应的中文名字是“豪猪”&#xff0c;豪猪周身长满了刺&#xff0c;能保护自己不受天敌的伤害&#xff0c;代表了一种防御机制&#xff0c;这与hystrix本身的功能不谋而合&#xf…

会话技术Session

1.Session的概念 Session是依赖于Cookie的&#xff0c;每次请求时&#xff0c;会将特殊标识带到服务器端&#xff0c;根据这个标识来找到对应的内存空间&#xff0c;从而实现数据共享!是Servlet规范中四大域对象之一的会话域对象。作用:是Servlet规范中四大域对象之一的会话域…

完整的支付系统整体架构

转载自 【干货】完整的支付系统整体架构&#xff01; 从产品分类、模块功能和业务流程&#xff0c;了解支付产品服务的设计。 支付产品模块是按照支付场景来为业务方提供支付服务。这个模块一般位于支付网关之后&#xff0c;支付渠道之前。 它根据支付能力将不同的支付渠道封装…

Scripting elements ( lt;%!, lt;jsp:declaration, lt;%=, lt;jsp:expression, 错误的解决方法

<% page contentType"text/html;charsetUTF-8" %> <%session.setAttribute("pageContext", "it315"); %> 输出表达式\\${pageContext}的值&#xff1a;<br/> ${pageContext} 【web.xml】错误地在 web.xml中禁用了 jsp脚本元素…

JSP页面

1.jsp概述 JSP&#xff08;全称Java Server Pages&#xff09;&#xff0c;是一种动态网页开发技术。它既可以使用HTML标签来写页面&#xff0c;也可以写Java代码。其本质就是一个Servlet 2.jsp页面的访问过程 当客户端发送请求访问服务端的index.jsp页面服务器内部会把.jsp…

html模板(base标签,meta标签,禁用浏览器缓存)+JSP自定义标签荔枝

【1】html模板 <html> <head><!-- base标签表示uri相对路径的基准路径 --><base href"http://localhost:8080/asite6/chapter6/ex6_11/visitor.html"/><title>html template</title><!-- meta 模拟响应消息头&#xff1a;Co…