8-MySQL查詢高級用法,數據表的關聯關係

来源:https://www.cnblogs.com/ljygzyblog/archive/2023/09/17/guozhengyuan_7.html
-Advertisement-
Play Games

1.分組 group by 詳情見,發佈的第七篇博客文章,7- MySQL函數 2.排序 order by 說明:在MySQL中,ORDER BY是一種用於對查詢結果進行排序的關鍵字。它可以根據一列或多列的值,以升序或降序的方式對查詢結果進行排序,使得查詢者可以更加方便 地查看、分析和處理數據。 使 ...


1.分組 group by

詳情見,發佈的第七篇博客文章,7- MySQL函數

2.排序 order by

說明:在MySQL中,ORDER BY是一種用於對查詢結果進行排序的關鍵字。它可以根據一列或多列的值,以升序或降序的方式對查詢結果進行排序,使得查詢者可以更加方便

地查看、分析和處理數據。

使用ORDER BY時,需要指定一個或多個欄位名,並可選地指定排序的順序(升序或降序)。預設情況下,ORDER BY按照升序對結果進行排序。如果想要按照降序排序,需要在字

段名後面加上DESC關鍵字。

3.分頁 limit

4.數據表的對應關係

(1).一對一

(2).一對多

(3).多對多

(4).生活中的相關例子

MySQL中的一對一(1:1)、一對多(1:n)、多對多(n:m)關係是資料庫設計中的核心概念,這些關係在現實生活中也有很多實例。以下是一些例子:

一對一(1:1)關係:

在生活中,一對一關係可以理解為兩個實體之間的關係,其中一個實體與另一個實體完全匹配。例如,身份證號碼和身份證之間的關係。每個人只有一個唯一的身份證號碼,而

每個身份證號碼也只對應一個人。

一對多(1:n)關係:

一對多關係表示一個實體與另一個實體集合之間的關係,其中一個實體可以與集合中的多個實體相關聯。例如,班級和學生之間的關係。一個班級有多個學生,但每個學生只屬

於一個班級。

多對多(n:m)關係:

多對多關係表示兩個實體集合之間的關係,其中一個集合中的實體可以與另一個集合中的多個實體相關聯,反之亦然。例如,學生和課程之間的關係。一個學生可以選擇多個課

程,而一個課程也可以有多個學生選擇。

5.連接查詢

(1).內連接 inner join 表名 on 條件

(2).左連接 left join 表名 on 條件

(3).右連接 right join 表名 on 條件

6.關於MySQL的高級查詢用法和數據表之間聯繫 案例

(1 創建商品分類,商品,購物車,用戶表,

(2 商品分類id和商品的商品分類連接,

(3 購物車的商品gid與商品的id連接,

(4 用戶的id與購物車的uid連接

如圖所示:

(5 要求:查詢第一個用戶買的商品的分類名,商品的名稱,種類,數量,及用戶名

代碼所示:
select category.cate_name ,goods.goods_name,goods.goods_price,cart.num,user.username from category inner join goods on category.id = goods.cid inner join cart on goods.id = cart.gid inner join user on cart.uid = user.id where user.id = 1;


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 面向過程的編程語言,如C語言,所使用的數據和函數之間是沒有任何直接聯繫的,它們之間是通過函數調用提供參數的形式將數據傳入函數進行處理。 但可能因為錯誤的傳遞參數、錯誤地修改了數據而導致程式出錯,甚至是崩潰。當需要修改或維護程式時要從程式提供的一堆數據中去尋找和修改它,要擴展函數的功能,只能重新建立一 ...
  • 踩坑一: 原因: 是因為Spring對象的創建都是以單例模式創建的,在啟動時只創建一次WebSocket。而WebSocketServer在每個連接請求到來時,都會new一個對象。所以當你啟動項目時,你想要註入的對象已經註入進去,但是當用戶連接是,新創建的websocket對象沒有你要註入的對象,所 ...
  • 學習多線程 1.認識程式,進程,線程 程式 程式由指令和數據組成,是靜態的 進程 啟動一個程式,就啟動了一個進程。 進程就是程式的一次執行過程。 進程是動態的。 線程 一個進程包含多個線程。例如:播放視頻時,有動畫,有聲音,有彈幕…… 2.如何創建線程 繼承Thread類 三板斧: 繼承Thread ...
  • 概述 shardingdb 是一個開源包,旨在為 GoLevelDB 增加分片和併發讀寫功能。它可以作為 LevelDB 的替代品,方便地集成到現有項目中。本博客將介紹 shardingdb 及其功能,並介紹如何在您的項目中使用它。 特點 - 分片支持:shardingdb 使您能夠將數據分佈在多個 ...
  • 古時候寫代碼,許可權這塊寫過一個庫,基本就是一個泛型介面,裡面有幾個方法: 如驗證輸入的principal和credentials,返回token和authorities和roles,role就是一堆authorities集,也就說就是返回一堆authorities。然後每次請求會拿token找到au ...
  • 在設備維修保養管理中,及時通知相關人員是確保設備得到及時維護的關鍵。API介面提供了一個方便的方式來自動發送維修保養通知,以確保工作流程的順利進行。本文將詳細介紹如何使用成熟的API介面來發送設備維修保養通知,以確保設備得到及時的維護,同時提供通俗易懂的步驟和代碼說明。 什麼是API介面? 首先,讓 ...
  • 一、文件管理: 1.1、ls: ​ 顯示文件/目錄屬性 常見參數: -l :列出長數據串,包含文件的屬性與許可權數據等 -a :列出全部的文件,連同隱藏文件(開頭為.的文件)一起列出來(常用) -d :僅列出目錄本身,而不是列出目錄的文件數據 -h :將文件容量以較易讀的方式(GB,kB等)列出來 - ...
  • 1.date文件的備份 2.mysqldump 備份 說明:mysqldump是MySQL資料庫中的一個實用程式,它主要用於轉儲(備份)資料庫。mysqldump通過生成一個SQL腳本文件,包含從頭開始重新創建資料庫所必需的(如 CREATE TABLE和INSERT等),來實現資料庫的備份和轉儲。 ...
一周排行
    -Advertisement-
    Play Games
  • 最近做項目過程中,使用到了海康相機,官方只提供了C/C++的SDK,沒有搜尋到一個合適的封裝了的C#庫,故自己動手,簡單的封裝了一下,方便大家也方便自己使用和二次開發 ...
  • 前言 MediatR 是 .NET 下的一個實現消息傳遞的庫,輕量級、簡潔高效,用於實現進程內的消息傳遞機制。它基於中介者設計模式,支持請求/響應、命令、查詢、通知和事件等多種消息傳遞模式。通過泛型支持,MediatR 可以智能地調度不同類型的消息,非常適合用於領域事件處理。 在本文中,將通過一個簡 ...
  • 前言 今天給大家推薦一個超實用的開源項目《.NET 7 + Vue 許可權管理系統 小白快速上手》,DncZeus的願景就是做一個.NET 領域小白也能上手的簡易、通用的後臺許可權管理模板系統基礎框架。 不管你是技術小白還是技術大佬或者是不懂前端Vue 的新手,這個項目可以快速上手讓我們從0到1,搭建自 ...
  • 第1章:WPF概述 本章目標 瞭解Windows圖形演化 瞭解WPF高級API 瞭解解析度無關性概念 瞭解WPF體繫結構 瞭解WPF 4.5 WPF概述 ​ 歡迎使用 Windows Presentation Foundation (WPF) 桌面指南,這是一個與解析度無關的 UI 框架,使用基於矢 ...
  • 在日常開發中,並不是所有的功能都是用戶可見的,還在一些背後默默支持的程式,這些程式通常以服務的形式出現,統稱為輔助角色服務。今天以一個簡單的小例子,簡述基於.NET開發輔助角色服務的相關內容,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 第3章:佈局 本章目標 理解佈局的原則 理解佈局的過程 理解佈局的容器 掌握各類佈局容器的運用 理解 WPF 中的佈局 WPF 佈局原則 ​ WPF 視窗只能包含單個元素。為在WPF 視窗中放置多個元素並創建更貼近實用的用戶男面,需要在視窗上放置一個容器,然後在這個容器中添加其他元素。造成這一限制的 ...
  • 前言 在平時項目開發中,定時任務調度是一項重要的功能,廣泛應用於後臺作業、計劃任務和自動化腳本等模塊。 FreeScheduler 是一款輕量級且功能強大的定時任務調度庫,它支持臨時的延時任務和重覆迴圈任務(可持久化),能夠按秒、每天/每周/每月固定時間或自定義間隔執行(CRON 表達式)。 此外 ...
  • 目錄Blazor 組件基礎路由導航參數組件參數路由參數生命周期事件狀態更改組件事件 Blazor 組件 基礎 新建一個項目命名為 MyComponents ,項目模板的交互類型選 Auto ,其它保持預設選項: 客戶端組件 (Auto/WebAssembly): 最終解決方案裡面會有兩個項目:伺服器 ...
  • 先看一下效果吧: isChecked = false 的時候的效果 isChecked = true 的時候的效果 然後我們來實現一下這個效果吧 第一步:創建一個空的wpf項目; 第二步:在項目裡面添加一個checkbox <Grid> <CheckBox HorizontalAlignment=" ...
  • 在編寫上位機軟體時,需要經常處理命令拼接與其他設備進行通信,通常對不同的命令封裝成不同的方法,擴展稍許麻煩。 本次擬以特性方式實現,以兼顧維護性與擴展性。 思想: 一種命令對應一個類,其類中的各個屬性對應各個命令段,通過特性的方式,實現其在這包數據命令中的位置、大端或小端及其轉換為對應的目標類型; ...