SQL Server從入門到項目實踐(超值版)讀書筆記 21

9.5 數據的內連接查詢

連接是關系數據庫模型的主要特點,連接查詢是關系數據庫中最主要的查詢,主要包括內連接、外連接等。內連接查詢操作列出與連接條件匹配的數據行,它使用比較運算符比較被鏈接列的列值。

具體語法格式如下:

SELECT col_name1,col_name2,...
FROM table1 INNER JOIN table2
ON conditions

各參數說明:

  • table1:數據表1,通常在內連接中被稱為左表;
  • table2:數據表2,通常在內連接中被稱為右表;
  • INNER JOIN:內連接的關鍵字;
  • ON conditions:設置內連接中的條件;
9.5.1 內連接的簡單查詢

內連接可以理解為等值連接,它的查詢結果全部都是符合條件的數據。

例:使用內連接查詢員工信息表和部門信息表

SELECT * FROM employee
INNER JOIN dept
ON employee.deptcode=dept.deptid

9.5.2 相等內連接的查詢

相等連接又叫等值連接,在連接條件中使用等于號(=)運算符比較被鏈接列的列值,其查詢結果中列除被鏈接表中所有列,包括其中的重復列。

employee表中的deptcode與dept表中的deptid具有相同的含義,兩個表通過這個字段建立聯系。

接下來,從employee中查詢出name、salary字段,從dept中查詢出deptid、deptname。

SELECT deptid,name,deptname,salary
FROM employee INNER JOIN dept
ON employee.deptcode=dept.deptid 

9.5.3 不等內連接的查詢

不等內連接查詢是旨在連接條件中使用除 等于運算符 以外的其他比較運算符,比較被鏈接的列的列值。這些運算符包括“>”“>=”“<=”“<”“!>”“!<”和“<>”。

例:使用不等內連接查詢employee和dept中所有的記錄

SELECT deptid,deptname,name,salary
FROM employee INNER JOIN dept
ON deptcode<>deptid

本查詢其實就是把表dept中原本部門編號為“1”,部門名稱為“行政部”,映射表employee中部門編碼為“1”記錄的連接查詢,更換為映射表employee中部門編碼不是“1”的記錄。

以此類推

9.5.4 特殊的內連接查詢

如果在一個連接查詢中,涉及的兩張表都是同一張表,這種查詢稱為自連接查詢,也被稱為特殊的內連接,它是指相互連接的表在物理上為同一張表,但可以在邏輯上分為兩張表。

為了方便演示,我們先創建這樣一張表:

USE mydatebase
CREATE TABLE deptment
(id INT primary key,deptname VARCHAR(20) NOT NULL,parentcode INT
)

然后,再插入如下幾條記錄

INSERT INTO deptment VALUES (1,'銷售部','')
INSERT INTO deptment VALUES (2,'人事部','')
INSERT INTO deptment VALUES (3,'銷售一部',1)
INSERT INTO deptment VALUES (4,'銷售二部',1)
INSERT INTO deptment VALUES (5,'人事一部',2)
INSERT INTO deptment VALUES (6,'人事二部',2)

到此,準備工作結束。

例:列出所有部門名稱以及它們對應的上級部門名稱

SELECT a.deptname 部門名稱,b.deptname 上級部門
FROM deptment a INNER JOIN deptment b
ON a.parentcode=b.id

9.5.5 帶條件的內連接查詢

帶選擇條件的連接查詢時在連接查詢過程中,通過添加過濾條件限制查詢的結果,使查詢的結果更加準確。

例:在employee表和dept表中,使用INNER JOIN羽語法,查詢employee表中部門編號為2的員工編號、姓名與工作地點,

SELECT a.code,a.name,b.addr
FROM employee a INNER JOIN dept b
on a.deptcode=b.deptid and a.deptcode=2

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

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

相關文章

瑞芯微7月17日舉辦開發者大會,多款AIoT新品發布,觸覺智能RK方案商報導

瑞芯微第九屆開發者大會RKDC 2025將有多款新品發布。 據瑞芯微電子Rockchip此前宣布&#xff1a;該企業的本年度開發者大會RKDC 2025將于7月17~18日在福建福州海峽國際會展中心舉行。本次瑞芯微開發者大會以“AIoT模型創新重做產品”為主題&#xff0c;關注傳統IoT功能設備向場…

Eureka+Ribbon實現服務注冊與發現

目錄 一、相關文章 二、兼容說明 三、服務注冊 四、服務發現 一、相關文章 基礎工程&#xff1a;gradle7.6.1springboot3.2.4創建微服務工程-CSDN博客 Eureka服務端啟動&#xff1a;https://blog.csdn.net/cherishSpring/article/details/149473554 Ribbon負載均衡&#…

數據庫、HTML

一、數據庫 數據庫文件與普通文件區別: 普通文件對數據管理(增刪改查)效率低2.數據庫對數據管理效率高&#xff0c;使用方便 常用數據庫: 1.關系型數據庫: 將復雜的數據結構簡化為二維表格形式 大型:0racle、DB2 中型:MySq1、sQLServer 小型:Sqlite 2.非關系型數據庫以鍵值對…

RCE隨筆(1)

哪些是可以執行代碼執行&#xff1a;php代碼。eval如&#xff1a;eval:<?php eval($_post[key]);eval&#xff1a;php中不被叫做函數叫動態執行命令assert&#xff1a;執行函數call_user_func_array<?php call_user_func_array(assert,array($_REQUEST[shu]));傳入xxs-…

FPGA——ZYNQ7020學習日記(PS端)4(開始PS控制VGA顯示)

1.DMA 我們的整體VGA顯示分為幾步&#xff1a;比如先導入VIDEO TIMING CONTROL來做對輸入數據的時序“對齊”&#xff0c;這里開源騷客寫的很詳細&#xff0c;先用了一個虛擬IO&#xff08;VIO)來作為輸入&#xff0c;導入了一個簡單的RTL模塊&#xff08;當VTL的使能信號有效…

AGX Xavier 搭建360環視教程【補充一:魚眼去畸變(Fisheye Undistortion)】

對每路幀做魚眼去畸變除了用cv::cuda::remap是否有更好的辦法呢&#xff1f;確實 cv::cuda::remap 不是唯一可選項&#xff0c;甚至未必是最高效或最適合實際業務量級的方案。&#x1f3af; 1?? 去畸變的原理魚眼相機&#xff08;或者大廣角相機&#xff09;會把直線拉彎&…

tomato靶機練習

下載完靶機后&#xff0c;直接運行&#xff0c;選擇安裝路徑后將虛擬機的網絡設置為nat模式&#xff0c;設置完成后重啟虛擬機掃描同一網段&#xff0c;查找主機&#xff0c;這里我們使用kali的nmap&#xff0c;既能找到主機&#xff0c;也能查看開啟的端口依次嘗試&#xff0c…

136. Java 泛型 - 下限通配符

文章目錄136. Java 泛型 - 下限通配符 (? super T)**1. 什么是下限通配符 (? super T)&#xff1f;****2. 為什么使用下限通配符&#xff1f;****3. 示例&#xff1a;使用 ? super Integer 允許添加 Integer****? 正確示例****4. 為什么 List<? super Integer> 和 L…

C++23中的std::expected:異常處理

C23中的std::expected:異常處理 眾所周知&#xff0c;C23以前的異常處理是比較麻煩的&#xff0c;尤其是自己要在可能拋出異常的地方&#xff0c;需要自己去捕獲它&#xff0c;比如除數為0的異常、使用std::stoi函數將字符串轉換成int整型數據、處理文件讀寫的異常等等&#x…

處理Electron Builder 創建新進程錯誤 spawn ENOMEM

這個錯誤 spawn ENOMEM 表明系統內存不足&#xff0c;無法為 Electron Builder 創建新進程。以下是一些可能的解決方案&#xff1a;釋放系統內存關閉不必要的程序和服務增加物理內存 (RAM) 或交換空間 (swap)使用 free -h 和 top 命令檢查內存使用情況臨時增加交換空間# 創建一…

discuz安裝使用教程,及網站部署在公網訪問

Discuz!的安裝主要包括環境準備、程序部署和配置管理三個核心步驟?&#xff0c;有條件 的可以使用寶塔面板或云鏡像簡化流程&#xff0c;本地部署無公網IP的配合類似nat123映射公網訪問&#xff0c;當前最新版本為Discuz! Q&#xff08;2025年發布&#xff09;和Discuz! X3.5&…

深入解析C#數字轉換:隱式與顯式轉換的全面指南

—— 數據精度保衛戰中的checked與unchecked秘籍 &#x1f4cc; 核心概念速覽 1. 隱式轉換 自動發生&#xff0c;無數據丟失風險&#xff08;如 int→long&#xff09;遵循"小類型→大類型"路徑&#xff08;見下圖??&#xff09; [圖1&#xff1a;C#隱式數字轉換路…

量子計算可以解決的三個現實問題

今年是量子力學被發現一百周年。這一突破幫助人們認識到&#xff0c;支配我們周圍世界最小層面&#xff08;分子、原子和亞原子粒子&#xff09;的物理定律&#xff0c;與支配我們在日常生活中與物體相互作用方式的物理定律有著根本的不同。量子力學讓我們能夠了解從血液中的新…

Valgrind Memcheck 全解析教程:6個程序說明基礎內存錯誤

Valgrind 是一個強大的動態分析框架&#xff0c;其中的 memcheck 工具用于檢測 C/C 程序中類型不定的內存錯誤&#xff0c;是基礎級內存調試工具的重要選擇。 本文將通過 6 段有意義的錯誤代碼&#xff0c;全面講解 memcheck 的檢測原理和輸出分析&#xff0c;進而幫助學習者托…

Vue3 實現 Excel 文件導入導出功能

在Vue 3中實現Excel文件的導入和導出功能&#xff0c;你可以使用一些流行的JavaScript庫&#xff0c;如SheetJS&#xff08;也稱為xlsx&#xff09;來處理Excel文件。以下是實現這一功能的基本步驟&#xff1a;1. 安裝SheetJS首先&#xff0c;你需要安裝xlsx庫。在你的Vue項目中…

CS231n-2017 Lecture2圖像分類筆記

圖像分類問題定義&#xff1a;在已有固定的分類標簽集合的前提下&#xff0c;能夠對輸入的圖像進行識別處理&#xff0c;從集合中找到該圖像所對應的標簽。對于計算機而言&#xff0c;圖像并非直觀的圖像&#xff0c;而是一個的像素集合&#xff0c;對于每個像素&#xff0c;其…

Typecho博客Ajax評論功能實現全攻略

文章目錄 Typecho實現Ajax評論功能的完整指南 引言 一、技術選型與準備工作 1.1 技術棧分析 1.2 環境準備 二、前端實現方案 2.1 基礎HTML結構 2.2 JavaScript處理邏輯 三、后端處理實現 3.1 創建插件處理Ajax請求 3.2 錯誤處理增強 四、安全性考慮 4.1 CSRF防護 4.2 輸入過濾 …

【計算機考研(408)- 數據結構】樹與二叉樹

樹與二叉樹 樹的定義及相關概念 樹是n&#xff08;n≥0&#xff09;個結點的有限集合&#xff0c;n 0時&#xff0c;稱為空樹&#xff0c;這是一種特殊情況。在任意一棵非空樹中應滿足&#xff1a; 1&#xff09;有且僅有一個特定的稱為根的結點。 2&#xff09;當n > 1時…

MacOS:如何利用終端來操作用戶

MacOS&#xff1a;如何利用終端來操作用戶MacOS&#xff1a;如何利用終端來操作用戶1. 創建用戶并賦予管理員權限步驟&#xff1a;2. 取消用戶的管理員權限解釋&#xff1a;3. 查看組成員查看 admin 組成員&#xff1a;查看 users 組成員&#xff1a;4. 其他常見的用戶管理命令…

基于SpringBoot+MyBatis+MySQL+VUE實現的醫療掛號管理系統(附源碼+數據庫+畢業論文+答辯PPT+項目部署視頻教程+項目所需軟件工具)

摘 要 在如今社會上&#xff0c;關于信息上面的處理&#xff0c;沒有任何一個企業或者個人會忽視&#xff0c;如何讓信息急速傳遞&#xff0c;并且歸檔儲存查詢&#xff0c;采用之前的紙張記錄模式已經不符合當前使用要求了。所以&#xff0c;對醫療掛號信息管理的提升&#x…