left join 和 inner join

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

left join 和 inner join

首先 MySQL 中 inner join 的效率確實要高于 left join。所以沒必要使用 left join 轉彎成 inner join 的效果。這樣不但效率降低,可讀性也會降低。

?

Number1

select?

from t1 left join t2?

where t2.field = value?

?

Number2

select?

from t1 left join t2 ?and?t2.field = value

?

這兩種寫法涉及到一個條件位置不同查詢結果就不一致的問題,Number1的意思其實和使用 inner join 效果是一致的,因為他對連接的結果做了過濾;

Number2 則是先對 t2 做過濾,然后再連接,所以他的結果集要大于 Number1,換句話說Number2的條件是強加在 t2 上的,而不是整個結果集。

另外,如果把查詢條件改為?t2.field? is ?null ; 前者與后者的結果是一致的,都是表示存在 t1 不存在 t2,所以這個比較特殊。

總之盡量不要使用 left join,除非業務需要,否則盡量使用 inner join.

轉載于:https://my.oschina.net/heweipo/blog/1083430

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281643.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281643.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281643.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

oracle 數據庫中拆分,oracle數據庫字符串拆分

第一種 直接返回切分的字符串create or replace function Get_StrArrayLength(av_str varchar2,--要分割的字符串av_split varchar2 --分隔符號)return numberislv_str varchar2(1000);lv_length number;beginlv_str:ltrim(rtrim(av_str));lv_length:0;while instr(lv_str,av_s…

Vue3+.NET6,輕松開發管理后臺!(可復用)

在GitHub是沒找到簡單好用的Vue3.NET6管理后臺項目,有收藏的請評論區分享。這里分享一套Vue3 Axios TS Vite Element Plus .NET 6 WebAPI JWT SqlSugar的通用管理后臺,前后端分離架構,各種最新框架組件,實現了管理后臺幾乎…

iOS網絡請求安全認證(JWT,RSA)

在網絡世界中,安全是一個很重要的問題,以往的HTTP請求已經不能承擔這個安全任務,抓包工具一抓,你的所有網絡請求全都曝光。當然,你可能會采用加密算法來加密數據,但是這仍然不夠。 在移動端和服務器的通信過…

微信小程序黑客馬拉松即將開始,來做最酷的 Mini Program Creators!

微信小程序黑客馬拉松正式啟動 近日,小程序斬獲一項世界級殊榮——作為一項全新的技術和應用創新,小程序首次獲選世界互聯網領先科技成果。目前小程序應用數量已超過 100 萬,覆蓋了 200 多個細分行業,日活用戶達到 2 億。 微信小程…

oracle 文件寫 n r,[oracle]log_archive_dest_n與DB_RECOVERY_FILE_DEST

DB_RECOVERY_FILE_DEST參數是默認的flashrecovery area的路徑,里面存放有歸檔日志、閃回日志以及rman的備份文件等文件。LOG_ARCHIVE_DEST_n參數是存放歸檔日志的路徑,n表示1~10的一個整數,由于歸檔日志在recovery的時候擔當了重要的角色&…

記一次 .NET 某娛樂聊天流平臺 CPU 爆高分析

一:背景 1.講故事前段時間有位朋友加微信,說他的程序直接 CPU100%,每次只能手工介入重啟,讓我幫忙看下到底怎么回事,哈哈,這種CPU打滿的事故,程序員壓力會非常大, 我讓朋友在 CPU 高的時候抓 2 …

linux下mariadb大小寫敏感

2019獨角獸企業重金招聘Python工程師標準>>> Linux下安裝好mariadb后,在使用時會發現mariadb對大小寫敏感,這對開發帶來一定的不利,這時只要在配置文件中配置一下,取消大小寫敏感即可: sudo vi /etc/MySQL/…

評論列表顯示及排序,個人中心顯示

1.顯示所有評論{% for foo in ques.comments %} 2.所有評論排序uquestion db.relationship(Question, backrefdb.backref(comments, order_bycreat_time.desc)) 3.顯示評論條數{{ ques.comments|length }} 1題代碼如下&#xff1a; <h3>評論區:({{ ques.comments|length…

軟件工程現行國標匯集

GB/T 8566-2007 《信息技術 軟件生存周期過程》GB/T 8567-2006 《計算機軟件文檔編制規范》 GB/T 9385-2008《計算機軟件需求規格說明規范》GB/T 9386-2008 《計算機軟件測試文檔編制規范》 GB/T 11457-2006《信息技術 軟件工程術語》GB/T 14394-2008《計算機軟件可靠性和可維護…

oracle listagg方法,Oracle實現字符串拼接和分離功能的方法(LISTAGG函數),oraclelistagg...

Oracle實現字符串拼接和分離功能的方法(LISTAGG函數)&#xff0c;oraclelistagg字符串拼接(String Aggregation Techniques)是數據處理時經常需要用到一個技術&#xff0c;比如需要按時間順序拼裝一個快遞的運輸記錄&#xff0c;或者將流程中各個環節的處理人拼裝為一個字符串。…

他倆都曾是技術大牛,創業這些年來有怎樣的苦與樂?

這是頭哥侃碼的第263篇原創國慶假期回來&#xff0c;「頭哥嘮 B 嘮」的直播仍在繼續。這次我邀請了我工作上的老板和朋友&#xff0c;一起聊了聊關于 “技術創業路上的苦與樂”。熟悉他們兩位的都知道&#xff0c;可以說是技術出身&#xff0c;然后創業當老板的代表。大家都知道…

maven,gradle本地緩存位置

gradle: 配置系統環境變量GRADLE_USER_HOME即可&#xff0c;值為緩存位置。 maven: 修改settings文件&#xff1a;maven的home路徑下的conf文件夾下的settings.xml 對于有些IDEA&#xff0c;還需要配置。但是不要再打開項目后的FILE-->settings配置&#xff0c;而是需要在選…

git和php的區別,Git與Github的有什么區別

Git是一款免費&#xff0c;開源的分布是版本&#xff0c;用于敏捷高效的處理任何或小或大的項目。分布式相對于集中式的最大區別在于開發者可以提到本地&#xff0c;每個開發者通過克隆&#xff0c;在本地磁盤內拷貝一個完整的GIt倉庫。Git的功能特性&#xff1a;1.從服務器上克…

E20171214-sl

well-grounded  地基打的好 relevent adj. 有關的&#xff0c;中肯的; 相關聯的proposal n. 建議; 提議; 求婚; 〈美〉投標;轉載于:https://www.cnblogs.com/lancgg/p/8281675.html

客戶端嵌套 Web 頁面如何選擇

客戶端嵌套 Web 頁面如何選擇客戶端嵌套 Web 頁面如何選擇作者&#xff1a;驚鏵在使用客戶端嵌套WEB頁面有一下幾種方案&#xff1a;WebView2[1]Electron[2]NW.js[3]sciter[4]miniblink[5]現在國內眾多桌面程序都是用了以下五種&#xff0c;因為它跨平臺更為方便&#x1f447;。…

每天練習50個shell

1、統計日志每天IP訪問量前十 awk {print $1} 1.log | sort -n | uniq -c | sort -n 解釋&#xff1a;&#xff08;1&#xff09;awk 命令在分段方面比較有優勢&#xff0c;這里的{print $1}將第一段打印出來&#xff0c;awk可以用-F指定分隔符&#xff0c;如果不指定分隔符&am…

【Tomcat】Tomcat配置與優化(內存、并發、管理)【自己配置】

一、JVM內存配置優化 主要通過以下的幾個jvm參數來設置堆內存的&#xff1a; -Xmx512m 最大總堆內存&#xff0c;一般設置為物理內存的1/4 -Xms512m 初始總堆內存&#xff0c;一般將它設置的和最大堆內存一樣大&#xff0c;這樣就不需要根據當前堆使用情況而調整堆的大…

oracle 網關下載,oracle透明網關訪問sqlserver2000

oracle透明網關訪問sqlserver2000介紹oracle 10g透明網關訪問sqlserver2000一、環境如下:ORACLE 10g 安裝在:192.168.0.250 的window2003 server(版本&#xff1a;Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production) SqlServer 2000安裝在:192.16…

C++和C#的指針小解

昨天和趙崇說了一下工作的事情&#xff0c;說起了性能問題就討論起了數據結果和指針對性能的影響。曾經一直沒有想到這方面的事情&#xff0c;這幾天專門抽時間回想一下這方面的知識&#xff0c;然后一點一點的總結一下&#xff0c;看看數據結構和指針在咱們代碼中是怎樣實現效…

使用RoleBasedAuthorization實現基于用戶角色的訪問權限控制

本文將介紹如何通過 Sang.AspNetCore.RoleBasedAuthorization[1] 庫實現 RBAC 權限管理。使用介紹Step 1添加庫 Sang.AspNetCore.RoleBasedAuthorizationInstall-Package Sang.AspNetCore.RoleBasedAuthorizationStep 2在 Program.cs 中添加builder.Services.AddSangRoleBasedA…