前端學習之后端java小白(五)之多表查詢/事務

一、多表查詢概念

在這里插入圖片描述

二、概述

1. 內連接
  • 隱式內連接

    SELECT  字段列表  FROM 表1,表2... WHERE 條件
    

    在這里插入圖片描述

  • 顯示內連接

     SELECT  字段列表  FROM 表1 [INNER] JOIN 表2 ON 條件
    

    在這里插入圖片描述
    在這里插入圖片描述

2. 外連接
  • 左外連接
    SELECT 列名
    FROM 左表 LEFT  [OUTER] JOIN 右表 
    ON 連接條件;
    
  • 右外連接
    SELECT 列名
    FROM 左表 RIGHT  [OUTER]  JOIN 右表 
    ON 連接條件;
    

在這里插入圖片描述

語法要點:

  • LEFT JOIN: 以左表為主,保留左表所有記錄

  • RIGHT JOIN: 以右表為主,保留右表所有記錄

  • ON 條件: 指定兩表的連接條件

  • OUTER: 可選關鍵詞,LEFT JOIN 等同于 LEFT OUTER JOIN

  • FROM 左表 LEFT JOIN 右表 – 保留左表所有數據

  • FROM 左表 RIGHT JOIN 右表 – 保留右表所有數據

案例

在這里插入圖片描述
左右連接等價轉換技巧: A LEFT JOIN B = B RIGHT JOIN A

 -- 這兩個查詢結果相同,只是表的位置調換了
SELECT * FROM users u LEFT JOIN orders o ON u.user_id = o.user_id;
SELECT * FROM orders o RIGHT JOIN users u ON u.user_id = o.user_id;

三、案例

用戶表

user_id | user_name | email
--------|-----------|----------------
1       | 張三      | zhang@email.com
2       | 李四      | li@email.com  
3       | 王五      | wang@email.com
4       | 趙六      | zhao@email.com

訂單表

order_id | user_id | total_amount | order_date
---------|---------|--------------|------------
101      | 1       | 299.99       | 2024-01-15
102      | 1       | 199.50       | 2024-01-20
103      | 2       | 399.00       | 2024-01-25
104      | 5       | 599.99       | 2024-02-01
左連接 (LEFT JOIN) 查詢
SELECT u.user_id, u.user_name, o.order_id, o.total_amount
FROM users u 
LEFT JOIN orders o ON u.user_id = o.user_id;

左連接結果:

user_id | user_name | order_id | total_amount
--------|-----------|----------|-------------
1       | 張三      | 101      | 299.99
1       | 張三      | 102      | 199.50
2       | 李四      | 103      | 399.00
3       | 王五      | NULL     | NULL
4       | 趙六      | NULL     | NULL

說明: 保留了所有用戶,王五和趙六沒有訂單,顯示為NULL。

右連接 (RIGHT JOIN) 查詢
SELECT u.user_id, u.user_name, o.order_id, o.total_amount
FROM users u 
RIGHT JOIN orders o ON u.user_id = o.user_id;

右連接結果:

user_id | user_name | order_id | total_amount
--------|-----------|----------|-------------
1       | 張三      | 101      | 299.99
1       | 張三      | 102      | 199.50
2       | 李四      | 103      | 399.00
NULL    | NULL      | 104      | 599.99

說明: 保留了所有訂單,訂單104的用戶ID是5,但users表中沒有這個用戶,所以用戶信息顯示為NULL。

內連接 (INNER JOIN) 對比
SELECT u.user_id, u.user_name, o.order_id, o.total_amount
FROM users u 
INNER JOIN orders o ON u.user_id = o.user_id;

內連接結果:

user_id | user_name | order_id | total_amount
--------|-----------|----------|-------------
1       | 張三      | 101      | 299.99
1       | 張三      | 102      | 199.50
2       | 李四      | 103      | 399.00

說明: 只顯示兩表都有匹配的記錄。

總結
  1. LEFT JOIN: 顯示5行,包含所有用戶(即使沒有訂單)
  2. RIGHT JOIN: 顯示4行,包含所有訂單(即使用戶不存在)
  3. INNER JOIN: 顯示3行,只包含有匹配的記錄

四、子查詢

在這里插入圖片描述
在這里插入圖片描述
舉例
多行單列:子查詢在 in 后面
在這里插入圖片描述多行多列:子查詢在from 后面
在這里插入圖片描述

五、子查詢案例

內連接

隱式內連接
在這里插入圖片描述
在這里插入圖片描述
顯示內連接
select
在這里插入圖片描述

六、事務

在這里插入圖片描述

案例
在這里插入圖片描述
修改 @@autocommit 為0 的時候,需要手動提交 commit, 默認自動提交,值為1
在這里插入圖片描述

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

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

相關文章

Java全棧學習筆記34

# JDBCjava database connection Java 數據庫連接技術## JDBC 驅動程序如果需要通過jdbc技術連接關系型數據庫,就需要為jdbc提供一個該數據庫的驅動。驅動程序由對應的數據庫廠商提供。mysql提供了針對于各種語言的驅動程序。去官網下載和java相關的驅動即可## JDB…

如何為MySQL中的JSON字段設置索引

背景 MySQL在2015年中發布的5.7.8版本中首次引入了JSON數據類型。自此,它成了一種逃離嚴格列定義的方式,可以存儲各種形狀和大小的JSON文檔,例如審計日志、配置信息、第三方數據包、用戶自定義字段等。 雖然MySQL提供了讀寫JSON數據的函數&am…

【學習日記】

1.上午看了會面經,八股,很多看不懂1.5排查本地mysql服務啟動問題2.刷了兩道題翻轉二叉樹的Dfs和bfs遞歸方法,看了幾分鐘看懂了,一開始刷題,沒有這種感覺,可能思維上升了3.下午做了會ppt4.看了ssm的一個gith…

本地大模型部署指南-Ollama與HuggingFace對比

在本地部署大模型時,用 Ollama 和 Hugging Face (HF) 確實有很大區別,涉及系統、硬件、訓練、推理方式,以及能否查看模型源代碼。下面我分幾個維度說明: 系統和安裝 Ollama 定位是「開箱即用」的本地大模型運行環境。 自帶運行時&…

河北周邊有哪些比較靠譜的智算中心?

河北省通過算力普惠、綠色能源、數據開放、金融支持四大支柱政策,推動智算中心高質量發展。河北及周邊地區的智算中心已形成高可靠性、先進技術和戰略協同的布局。那么,河北周邊有哪些比較靠譜的智算中心?一、河北周邊智算中心盤點?1、尚航懷…

電動汽車充電標準之 — 國標 GB/T 18487《電動汽車傳導充電系統》 簡介

GB/T 18487 的全稱是 《電動汽車傳導充電系統》 ,它是中國電動汽車充電領域最基礎、最核心的國家標準之一。該標準規定了電動汽車傳導充電系統的通用要求、通信協議、安全要求等,是整個中國充電基礎設施建設的基石。 與您之前了解的IEC 61851類似&#x…

溫濕度傳感器如何守護工業制造?

在工業制造、農業養殖、倉儲物流乃至文物保護等領域,環境溫濕度的精確監測是保障品質與安全的關鍵。溫濕度傳感器作為無聲的守護者,如何通過穩定可靠的數據采集,為現代工業生產的精細化與智能化管理提供堅實基礎?本文將深入探討其…

破壁·融合·共贏:杭州大成慧谷基金與涉海科技混改項目公司正式啟航!

2025 年 7 月 15 日,一家融合國企基金實力與民企創新活力的混合所有制項目公司正式誕生——由杭州大成慧谷股權投資基金管理有限公司與山東涉海海洋生物科技有限公司共同出資設立的武創慧聚創芯科學技術(上海)有限公司,當日完成法律合規手續。此前,上海武創大智高新技術集團副總…

洛谷 P1271 【深基9.例1】選舉學生會-普及-

P1271 【深基9.例1】選舉學生會 題目描述 學校正在選舉學生會成員,有 nnn(1≤n≤9991 \le n\le 9991≤n≤999)名候選人,每名候選人編號分別從 111 到 nnn,現在收集到了 mmm(1≤m≤20000001 \le m \le 20000…

【AI】AI 評測入門(二):Prompt 迭代實戰從“能跑通”到“能落地”

“Prompt 不是寫出來的,是測出來的。” ——這是我迭代 5 個版本后,最深的體悟。 上一篇《AI 評測入門(一):先搞懂你的數據集)》,我們講了標簽體系、自測集、評測集、Langfuse 數據結構化——那是 AI 評測的…

【好靶場】SQLMap靶場攻防繞過 (一)

0x00 前言 最近遇到很多在做基礎靶場的小伙伴們都在SQLMap一把索,那么所幸搞一個SQLMap繞過的靶場。 我們是好靶場,一個立志于讓所有學習安全的同學用上好靶場的團隊。 https://github.com/haobachang-1/haobachangBlog/ https://github.com/haobach…

DeepSeek輔助編寫的利用quick_xml把xml轉為csv的rust程序

提示詞請用rust quickxml庫實現讀取xml的row和c標簽信息,并輸出到csv格式,要求是:數值型c,輸出標簽的內容,字符串型c(t “inlineStr”),輸出的內容,row的r屬性表是行號,c的r屬性是字…

logback-spring.xml文件說明

項目里剛好用到&#xff0c;用豆包生成以下說明&#xff0c;此處作為記錄。以下是一個 logback-spring.xml 配置文件示例&#xff0c;結合了 Spring Boot 特性&#xff0c;支持環境區分、日志滾動和不同級別日志輸出&#xff0c;并包含詳細注釋&#xff1a;<?xml version&q…

專題:2025社交媒體營銷與電商融合趨勢報告:抖音、小紅書、短劇、直播全拆解|附210+份報告PDF、數據儀表盤匯總下載

原文鏈接&#xff1a;https://tecdat.cn/?p43853 原文出處&#xff1a;拓端抖音號拓端tecdat 3年前&#xff0c;電商還停留在“貨架擺貨、用戶搜關鍵詞下單”的傳統模式&#xff0c;社交媒體只是品牌“打知名度”的輔助工具&#xff1b;如今&#xff0c;用戶刷抖音直播能直接下…

大模型API密鑰生成規則分析

大模型API密鑰生成規則分析 一、核心生成原則與安全基礎 1.1 密碼學安全隨機數生成 大模型API密鑰的核心安全基礎在于高熵值隨機數生成,需滿足以下技術標準: 熵值要求:至少128位(16字節),推薦256位(32字節),通過密碼學安全偽隨機數生成器(CSPRNG)實現 生成算法:…

太陽光度計在光伏電站的用途

太陽光度計在光伏電站中具有多重關鍵用途&#xff0c;能夠為電站的規劃、運行、維護及能效提升提供科學依據。以下是其具體應用場景及價值分析&#xff1a;1. 太陽能資源評估與電站選址優化核心功能&#xff1a;太陽光度計通過測量直接太陽輻射&#xff08;DNI&#xff09;、散…

ArkTS(方舟 TypeScript)全面介紹:鴻蒙生態的核心編程語言

一、引言 隨著鴻蒙(HarmonyOS)的快速演進,開發者生態成為支撐其發展的關鍵因素。無論是手機、平板、智能穿戴,還是車機、IoT 設備,鴻蒙都希望通過“一次開發,多端部署”的理念,讓開發者能夠更高效地構建應用。 為了實現這一目標,華為推出了 ArkTS(方舟 TypeScript)…

領碼方案|Linux 下 PLT → PDF 轉換服務超級完整版:異步、權限、進度(一氣呵成)

本教程給出可直接落地的 Linux 環境下 PLT→PDF 轉換微服務&#xff0c;全鏈路涵蓋&#xff1a;同步/異步模式、JWTRBAC項目域權限、任務狀態與進度、PDF 水印與審計、可觀測性與彈性伸縮&#xff1b;技術棧為 Spring Boot gpcl6&#xff08;GhostPCL&#xff09; Redis S3/O…

基于51單片機的LCD12864萬年歷時鐘

目錄 具體實現功能 設計介紹 資料內容 全部內容 資料獲取 具體實現功能 具體功能&#xff1a; &#xff08;1&#xff09;LCD12864實時顯示當前時間&#xff08;年月日時分秒星期&#xff09;及溫度值&#xff1b; &#xff08;2&#xff09;四個按鍵可調整當前時間值&…

【C++】string類--常見接口及其模擬實現

目錄 1. 遍歷 1.1. 下標operator[ ] 1.2. c_str 1.3. 迭代器 1.4. 范圍for 2. 增 2.1. push_back 2.2. 重載&#xff08;char ch&#xff09; 2.3. appand 2.4. 重載&#xff08;char* ch&#xff09; 2.5. insert&#xff08;任意位置插入&#xff09; 2.5.1. 任意…