Mysql標量子查詢

目錄

  • 子查詢
  • 標量子查詢
  • 數據準備

子查詢

SQL語句中嵌套select語句,稱為嵌套查詢,又稱子查詢。

SELECT  *  FROM   t1   WHERE  column1 =  ( SELECT  column1  FROM  t2 ... );

子查詢外部的語句可以是insert / update / delete / select 的任何一個,最常見的是 select。

根據子查詢結果的不同分為:

  1. 標量子查詢(子查詢結果為單個值[一行一列])

  2. 列子查詢(子查詢結果為一列,但可以是多行)

  3. 行子查詢(子查詢結果為一行,但可以是多列)

  4. 表子查詢(子查詢結果為多行多列[相當于子查詢結果是一張表])

子查詢可以書寫的位置:

  1. where之后
  2. from之后
  3. select之后

標量子查詢

子查詢返回的結果是單個值(數字、字符串、日期等),最簡單的形式,這種子查詢稱為標量子查詢。

常用的操作符: = <> > >= < <=

案例1:查詢"教研部"的所有員工信息

可以將需求分解為兩步:

  1. 查詢 “教研部” 部門ID
  2. 根據 “教研部” 部門ID,查詢員工信息
-- 1.查詢"教研部"部門ID
select id from tb_dept where name = '教研部';    #查詢結果:2
-- 2.根據"教研部"部門ID, 查詢員工信息
select * from tb_emp where dept_id = 2;-- 合并出上兩條SQL語句
select * from tb_emp where dept_id = (select id from tb_dept where name = '教研部');

在這里插入圖片描述

案例2:查詢在 “方東白” 入職之后的員工信息

可以將需求分解為兩步:

  1. 查詢 方東白 的入職日期
  2. 查詢 指定入職日期之后入職的員工信息
-- 1.查詢"方東白"的入職日期
select entrydate from tb_emp where name = '方東白';     #查詢結果:2012-11-01
-- 2.查詢指定入職日期之后入職的員工信息
select * from tb_emp where entrydate > '2012-11-01';-- 合并以上兩條SQL語句
select * from tb_emp where entrydate > (select entrydate from tb_emp where name = '方東白');

在這里插入圖片描述

數據準備

-- 部門表
create table tb_dept
(id          int unsigned primary key auto_increment comment '主鍵ID',name        varchar(10) not null unique comment '部門名稱',create_time datetime    not null comment '創建時間',update_time datetime    not null comment '修改時間'
) comment '部門表';
-- 部門表測試
insert into tb_dept (id, name, create_time, update_time)
values (1, '學工部', now(), now()),(2, '教研部', now(), now()),(3, '咨詢部', now(), now()),(4, '就業部', now(), now()),(5, '人事部', now(), now());-- 員工表
create table tb_emp
(id          int unsigned primary key auto_increment comment 'ID',username    varchar(20)      not null unique comment '用戶名',password    varchar(32) default '123456' comment '密碼',name        varchar(10)      not null comment '姓名',gender      tinyint unsigned not null comment '性別, 說明: 1 男, 2 女',image       varchar(300) comment '圖像',job         tinyint unsigned comment '職位, 說明: 1 班主任,2 講師, 3 學工主管, 4 教研主管, 5 咨詢師',entrydate   date comment '入職時間',dept_id     int unsigned comment '部門ID',create_time datetime         not null comment '創建時間',update_time datetime         not null comment '修改時間'
) comment '員工表';
-- 員工表測試數據
INSERT INTO tb_emp(id, username, password, name, gender, image, job, entrydate,dept_id, create_time, update_time)
VALUES(1,'jinyong','123456','金庸',1,'1.jpg',4,'2000-01-01',2,now(),now()),(2,'zhangwuji','123456','張無忌',1,'2.jpg',2,'2015-01-01',2,now(),now()),(3,'yangxiao','123456','楊逍',1,'3.jpg',2,'2008-05-01',2,now(),now()),(4,'weiyixiao','123456','韋一笑',1,'4.jpg',2,'2007-01-01',2,now(),now()),(5,'changyuchun','123456','常遇春',1,'5.jpg',2,'2012-12-05',2,now(),now()),(6,'xiaozhao','123456','小昭',2,'6.jpg',3,'2013-09-05',1,now(),now()),(7,'jixiaofu','123456','紀曉芙',2,'7.jpg',1,'2005-08-01',1,now(),now()),(8,'zhouzhiruo','123456','周芷若',2,'8.jpg',1,'2014-11-09',1,now(),now()),(9,'dingminjun','123456','丁敏君',2,'9.jpg',1,'2011-03-11',1,now(),now()),(10,'zhaomin','123456','趙敏',2,'10.jpg',1,'2013-09-05',1,now(),now()),(11,'luzhangke','123456','鹿杖客',1,'11.jpg',5,'2007-02-01',3,now(),now()),(12,'hebiweng','123456','鶴筆翁',1,'12.jpg',5,'2008-08-18',3,now(),now()),(13,'fangdongbai','123456','方東白',1,'13.jpg',5,'2012-11-01',3,now(),now()),(14,'zhangsanfeng','123456','張三豐',1,'14.jpg',2,'2002-08-01',2,now(),now()),(15,'yulianzhou','123456','俞蓮舟',1,'15.jpg',2,'2011-05-01',2,now(),now()),(16,'songyuanqiao','123456','宋遠橋',1,'16.jpg',2,'2007-01-01',2,now(),now()),(17,'chenyouliang','123456','陳友諒',1,'17.jpg',NULL,'2015-03-21',NULL,now(),now());

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

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

相關文章

git的安裝、使用

文章目錄 安裝gitgit學習網站git初始配置具體配置信息 新建版本庫&#xff08;倉庫&#xff09;git的工作區域和文件狀態工作區域文件狀態git文件提交的基礎指令 git基礎指令1. 版本提交2. 分支創建3. 分支切換4. 分支合并(1) git merge(2) git rebase 5. 在git的提交樹上移動(…

Ps:銳化工具

銳化工具 Sharpen Tool可用于增強圖像局部區域的對比度&#xff0c;從而提高圖像的清晰度和細節&#xff0c;特別適用于提升照片的邊緣定義和紋理細節。 快捷鍵&#xff1a;無 ◆ ◆ ◆ 常用操作方法與技巧 1、如果直接在像素圖像上使用銳化工具&#xff0c;可嘗試使用“漸隱…

怎么優雅地訪問ChatGPT

ChatGPT&#xff0c;這顆璀璨的智能結晶&#xff0c;在2022年歲末之際&#xff0c;由OpenAI實驗室傾力鑄就&#xff0c;猶如夜空中躍動的智慧星辰&#xff0c;點亮了人工智能領域的新紀元。猶如汪洋中的一座燈塔&#xff0c;ChatGPT以其獨特的智慧光輝引人注目&#xff0c;然而…

Linux:kubernetes(k8s)node節點加入master主節點(3)

Linux&#xff1a;kubernetes&#xff08;k8s&#xff09;搭建mater節點&#xff08;kubeadm&#xff0c;kubectl&#xff0c;kubelet&#xff09;-CSDN博客https://blog.csdn.net/w14768855/article/details/136415575?spm1001.2014.3001.5502 我在上一章部署好了主節點&…

前端打包部署(黑馬學習筆記)

我們的前端工程開發好了&#xff0c;但是我們需要發布&#xff0c;那么如何發布呢&#xff1f;主要分為2步&#xff1a; 1.前端工程打包 2.通過nginx服務器發布前端工程 前端工程打包 接下來我們先來對前端工程進行打包 我們直接通過VS Code的NPM腳本中提供的build按鈕來完…

從下一代車規MCU厘清存儲器的發展(2)

目錄 1.概述 2.MCU大廠的選擇 2.1 瑞薩自研STT-MRAM 2.2 ST專注PCM 2.3 英飛凌和臺積電聯手RRAM 2.4 NXP如何計劃eNVM 3.小結 1.概述 上篇文章&#xff0c;我們簡述了當前主流的存儲器技術&#xff0c;現在我們來講講各大MCU大廠的技術選擇 2.MCU大廠的選擇 瑞薩日…

redis的RDB和AOF

Redis是一種高性能的鍵值對存儲系統&#xff0c;它支持多種類型的數據結構&#xff0c;如字符串、列表、集合、哈希表、有序集合等。Redis提供了兩種不同的持久化機制來確保數據的安全性&#xff1a;RDB&#xff08;Redis Database&#xff09;和AOF&#xff08;Append Only Fi…

Tomcat布署及優化二-----Mysql和虛擬機

1.Mysql搭Blog 1.1下載安裝包 看一下tomcat狀態 1.2放到指定目錄 cp jpress-v3.2.1.war /usr/local/tomcat/webapps/ cd /usr/local/tomcat/webapps/ 1.3路徑優化 ln -s jpress-v3.2.1 jpress 看jpress權限 1.4生成配置文件 cat >/etc/yum.repos.d/mysql.repo <<E…

掘根寶典之C語言指針詳解

目錄 什么是指針&#xff1f; 與指針相關的運算符 指針類型的意義 指針的大小 初始化 將指針直接指向一個已經存在的變量或內存地址&#xff1a; 使用malloc函數動態分配內存&#xff0c;并將指針指向新分配的內存&#xff1a; 使用calloc函數動態分配內存&#xff0c;并…

Javascript:常量與數據類型

一、前言 介紹完變量之后我們來對常量進行了解一番&#xff0c;關于常量我們需要知道些什么呢&#xff1f; 二、正文 1.常量的基本使用 使用const聲明的變量稱為常量&#xff0c;當某個變量的字面量無需改動的時候就能夠用到常量。 //聲明一個常量 const G 9.8 //輸出這個常量…

您的計算機已被pings勒索病毒感染?恢復您的數據的方法在這里!

導言&#xff1a; 在數字時代&#xff0c;數據是企業和個人生活中不可或缺的一部分。然而&#xff0c;隨著勒索病毒的不斷進化和傳播&#xff0c;我們的數據面臨著前所未有的威脅。其中&#xff0c;.pings 勒索病毒是最新一輪威脅之一&#xff0c;它以其獨特的加密算法和無情的…

leetcode-字符串中的單詞數

434. 字符串中的單詞數 題解&#xff1a; 這個問題可以通過遍歷字符串&#xff0c;當遇到非空格字符時&#xff0c;判斷其前一個字符是否為空格&#xff0c;如果是&#xff0c;則說明這是一個新的單詞的開始&#xff0c;計數器加一。最后返回計數器的值即可。 class Solutio…

【Redis | 第一篇】快速了解Redis

文章目錄 1.快速了解Redis1.1簡介1.2與其他key-value存儲的不同處1.3Redis安裝——Windows環境1.3.1下載redis1.3.2啟動redis1.3.3進入redis客戶端1.3.4修改配置 1.4Redis安裝——Linux環境1.4.1安裝命令1.4.2啟動redis1.4.3進入redis客戶端 1.5配置修改1.6小結 1.快速了解Redi…

MyBatis 學習(七)之 緩存

目錄 1 MyBatis 緩存介紹 2 一級緩存 3 二級緩存 3.1 二級緩存介紹 3.2 二級緩存配置 3.3 二級緩存測試 4 參考文檔 1 MyBatis 緩存介紹 MyBatis 緩存是 MyBatis 中的一個重要特性&#xff0c;用于提高數據庫查詢的性能。MyBatis 提供了一級緩存和二級緩存兩種類型的緩存…

Git與GitHub:解鎖版本控制的魔法盒子

?? 歡迎大家來訪Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭?&#xff5e;?? &#x1f31f;&#x1f31f; 歡迎各位親愛的讀者&#xff0c;感謝你們抽出寶貴的時間來閱讀我的文章。 我是Srlua&#xff0c;在這里我會分享我的知識和經驗。&#x…

cetos7 Docker 安裝 gitlab

一、gitlab 簡單介紹和安裝要求 官方文檔&#xff1a;https://docs.gitlab.cn/jh/install/docker.html 1.1、gitlab 介紹 gitLab 是一個用于代碼倉庫管理系統的開源項目&#xff0c;使用git作為代碼管理工具&#xff0c;并在此基礎上搭建起來的Web服務平臺&#xff0c;通過該平…

(六)Dropout抑制過擬合與超參數的選擇--九五小龐

過擬合 即模型在訓練集上表現的很好&#xff0c;但是在測試集上效果卻很差。也就是說&#xff0c;在已知的數據集合中非常好&#xff0c;再添加一些新數據進來效果就會差很多 欠擬合 即模型在訓練集上表現的效果差&#xff0c;沒有充分利用數據&#xff0c;預測準確率很低&a…

笨辦法學 Python3 第五版(預覽)(一)

原文&#xff1a;Learn Python the Hard Way, 5th Edition (Early Release) 譯者&#xff1a;飛龍 協議&#xff1a;CC BY-NC-SA 4.0 模塊 1&#xff1a;Python 入門 練習 0&#xff1a;準備工作 這個練習沒有代碼。這只是你完成的練習&#xff0c;讓你的計算機運行 Python。…

Unity 游戲設計模式:單例模式

本文由 簡悅 SimpRead 轉碼&#xff0c; 原文地址 mp.weixin.qq.com 單例模式 在 C# 游戲設計中&#xff0c;單例模式是一種常見的設計模式&#xff0c;它的主要目的是確保一個類只有一個實例&#xff0c;并提供一個全局訪問點。單例模式在游戲開發中具有以下幾個作用&#xf…

Matlab 機器人工具箱 Link類

文章目錄 1 Link類1.1 機械臂Link類1.2 構造函數1.3 信息/顯示方法1.4 轉換方法1.5 操作方法1.6 測試方法1.7 重載操作1.8 屬性(讀/寫)1.9 例子2 Link.Link2.1 創建機器人連桿對象2.2 OPTIONS2.3 注意2.4 舊語法2.5 例子3 Link的其他函數3.1 Link.A3.2 Link.char3.3 Link.displ…