MySQL(五) —— 子查詢

子查詢(SubQuery)是指出現在其他SQL語句內的SELECT語句。

如:

SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2);
其中 SELECT * FROM t1,稱為Outer Query/Outer Statement
SELECT col2 FROM t2,稱為SubQuery

子查詢指嵌套在查詢內部,且必須始終出現在圓括號內。

子查詢可以包含多個關鍵字或條件,如DISTINCT/GROUP BY/ORDER BY/LIMIT/函數等;

子查詢的外層查詢可以是:SELECT, INSERT, UPDATE, SET 或Do。

子查詢可以返回標量、一行、一列或子查詢。

  • 使用比較運算符的子查詢
    • 使用比較運算符的子查詢:=, >, <, >=, <=, <>, !=, <=>
    • 語法結構:operator comparison——operator SubQuery
    • ANY, SOME, ALL關鍵字
  • 使用[NOT] IN的子查詢
    • operand comparison_operator [NOT] IN (subquery) = ANY 運算符與IN等效
    • !=ALL 或 <>ALL 運算符與NOT IN等效。

?

多表更新

  • 基本命令:
  • UPDATE table_references
    SET col_name1={expr1|DEFAULT}
    ...
    [WHERE where_condition]//表的參照關系
    table_reference
    {[INNER | CROSS] JOIN | {LEFT | RIGHT} [OUTER] JOIN}
    table_reference
    ON condition_expr //For example:
    UPDATE tdb_goods INNER JOIN tdb_goods_cates ON goods_cate=cate_name
    SET goods_cate=cate_id;

    ?

?多表連接

  • MySQL在SELECT語句、多表更新、多表刪除語句中支持JOIN操作。
  • 基本命令:
  • table_reference
    {[INNER | CROSS] JOIN | {LEFT | RIGHT} [OUTER] JOIN}
    table_reference
    ON condition_expr table_reference
    tbl_name [[AS] alias] | table_subquery [AS] alias數據表可以使用tbl_name AS alias_name 或 tbl_name alias_name 賦予別名。
    table_subquery可以作為子查詢使用在FROM子句中,這樣的子查詢必須為其服務別名。

    ?

  • INNER JOIN,內連接,在MySQL中,JOIN,CROSS JOIN和INNER JOIN是等價的。
  • LEFT [OUTER] JOIN,左外連接
    • A LEFT JOIN B join_condition
    • 數據表B的結果集依賴于數據表A;
    • 左外連接條件決定如何檢索數據表B(在沒有WHERE條件的情況下)
  • RIGHT [OUTER] JOIN,右外連接
    • 通常使用ON關鍵字來設定條件;
    • 使用WHERE關鍵字來進行結果集記錄的過濾。
  • 表的自身連接 多表刪除:通過一個表模擬多個表,刪除表中的重復記錄
    • DELETE tbl_name[.*] [, tbl_name[.*]] ...
      FROM table_references
      [WHERE where_condition]//For example:
      DELETE t1 FROM tdb_goods AS t1 LEFT JOIN (SELECT goods_id, goods_name FROM tdb_goods GROUP BY goods_name HAVING (COUNT(goods_name) >=2)) AS t2 
      ON t1.goods_name=t2.goods_name WHERE t1.goods_id > t2.goods_id;

?

轉載于:https://www.cnblogs.com/little-YTMM/p/5428669.html

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

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

相關文章

PPP認證方式pap chap chap2

2019獨角獸企業重金招聘Python工程師標準>>> PPP點到點協議&#xff08;Point to Point Protocol&#xff0c;PPP&#xff09;是IETF&#xff08;Internet Engineering Task Force&#xff0c;因特網工程任務組&#xff09;推出的點到點類型線路的數據鏈路層協議。它…

Nexus-配置vPC 實驗三

配置EvPC&#xff08;增強的vPC&#xff09;&#xff0c;下面兩個FEX可以同時被兩個N5K管理。注意&#xff1a;FEX只支持靜態的Channel-group&#xff08;mode on&#xff09; N5K-1配置&#xff1a;配置FEXN5K-1&#xff08;config&#xff09;#feature fexN5K-1&#xff08;c…

python中字符串轉xml對象_Python實現對象轉換為xml的方法示例

本文實例講述了Python實現對象轉換為xml的方法。分享給大家供大家參考&#xff0c;具體如下&#xff1a;# -*- coding:UTF-8 -*-Created on 2010-4-20author: 憂里修斯import xml.etree.ElementTree as ETimport xml.dom.minidom as minidomfrom addrbook.domain import Person…

python現在時間 命令,Python 日期格式和時間以及當前時間和時間戳

Python 程序在運行的時候可能需要獲得當前的時間。在這個時候我們需要導入 datetime 包。獲得當前時間例如&#xff0c;可以使用下面的代碼獲得當前的日期。today datetime.date.today()print("Todays date:", today)在上面的代碼中&#xff0c;將會輸出&#xff1a…

谷歌入職郵件_為什么我全職學習了8個月以接受Google采訪

谷歌入職郵件by Googley as Heck由Googley飾演Heck 為什么我全職學習了8個月以接受Google采訪 (Why I studied full-time for 8 months for a Google interview) It’s true. I’ve spent thousands of hours reading books, writing code, and watching computer science lec…

關于meta便簽詳解

<!-- 聲明文檔 --> <meta charsetutf-8> <meta http-equiv"X-UA-Compatible" content"IEedge" /> //指示IE以目前可用的最高模式顯示內容 <!-- SEO 優化 --> <meta name"description" content"不超過150個字符&…

go grpc 深入筆記

為什么80%的碼農都做不了架構師&#xff1f;>>> grpc 深入 生命周期 grpc 的生命周期由4種請求的方式不同而不同&#xff1a;(詳細查看router示例) 普通rpc: 客戶端發送請求&#xff0c;通知服務端調用rpc服務&#xff0c;服務端返回請求&#xff0c;如果狀態"…

messagedigest 圖片加密_MessageDigest 加密和解密2

-------------------解密---------------------------package com.drawthink.platform.util;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import java…

34個省市自治區排序_freeCodeCamp的1,000多個學習小組現已完全自治

34個省市自治區排序by Justin Sane賈斯汀桑恩(Justin Sane) freeCodeCamp的1,000多個學習小組現已完全自治 (freeCodeCamp’s 1,000 study groups are now fully autonomous) When the first local freeCodeCamp (fCC) study group popped up, we had no idea that within les…

oracle rac alter日志,ORACLE 11G RAC 增加日志組及增大日志文件

1、查看目前日志組和日志文件情況SQL> select * from v$logfile order by 1;GROUP# STATUS TYPE MEMBER IS_---------- ------- ------- -------------------------------------------------- ---1 ONLINE FRA/st…

RSA加密算法簡單分析

預備知識 1&#xff09;RSA是第一個比較完善的公開密鑰算法&#xff0c;它既能用于加密&#xff0c;也能用于數字簽名。RSA以它的三個發明者Ron Rivest, Adi Shamir, Leonard Adleman的名字首字母命名&#xff0c;這個算法經受住了多年深入的密碼分析&#xff0c;雖然密碼分析者…

C#字符串變量使用

string由于是引用類型&#xff0c;所以&#xff0c;聲明的字符串變量會存儲到堆上&#xff0c;而且該變量是不可變的&#xff0c;一旦初始化了該變量&#xff0c;該內存區域中存儲的內容將不能更改。在對字符串操作時&#xff0c;是在堆上創建了一個新的字符串變量&#xff0c;…

c語輸入單引號_C語言的printf不能用單引號?

多年沒用C語言了。近日用R語言編程時因有太多循環&#xff0c;只好用C寫個擴展模塊&#xff0c;一時竟不知怎么動手了。在多種語言中&#xff0c;單引號和雙引號是可以等同使用的。因鍵入雙引號要比單引號多按一SHIFT鍵&#xff0c;我偏好單引號。在用printf顯示字符串&#xf…

css flexbox模型_CSS Flexbox在全國范圍內的公路旅行中得到了解釋

css flexbox模型by Kevin Kononenko凱文科諾年科(Kevin Kononenko) CSS Flexbox在全國范圍內的公路旅行中得到了解釋 (CSS Flexbox Explained by Road Tripping Across the Country) 如果您旅行很長&#xff0c;那么您可以了解CSS Flexbox&#xff01; (If you have ever been…

oracle 10g 白皮書,Oracle 10g標準版與企業版

beautiful 于 2007-03-06 00:43:37發表:最后還有一些關于oracle產品的FAQ&#xff1a;1. Oracle數據庫軟件目前在售的版本號&#xff1f;A&#xff1a;目前在售的是Oracle 9i 和Oracle 10g2. 10g是不是比9i更好&#xff1f;A&#xff1a;一個新版本的軟件推出以后&#xff0c;總…

Linux 小筆記

1、查看linux 版本 按ctrlshiftt 快捷鍵&#xff0c;打開終端&#xff0c;輸入sudo uname --m &#xff0c;按下enter 如果顯示i686,你安裝了32位操作系統 如果顯示 x86_64&#xff0c;你安裝了64位操作系統 轉載于:https://www.cnblogs.com/1995hxt/p/5436683.html

不會發布npm包?進來看看?

前言 npm(Node Package Manager)&#xff0c;一個Node的包管理器&#xff0c;平時我們常用的公共模塊&#xff08;插件&#xff09;或者叫做包大多都放在上面&#xff0c;所以接下來要封裝的插件&#xff0c;我們就簡單稱它為npm包&#xff0c;本文從就從這個簡單的例子開始&am…

如何讓帝國CMS7.2搜索模板支持動態標簽調用

帝國cms站內搜索一般不支持動態標簽調用&#xff0c;如果要調用如何實現呢&#xff1f;修改兩個地方就可以實現了。打開 /e/search/result/index.php 文件&#xff0c;找到&#xff08;文件改了&#xff0c;不會調用也是徒勞&#xff01;看看這個帝國cms搜索關鍵字調用標簽(sho…

access字體變為斜體_Linux折騰記(四):Linux桌面系統字體配置詳解

字體顯示效果測試文字&#xff1a;復制代碼代碼如下:這一段是為了測試宋體字的顯示效果&#xff0c;包括宋體里面自帶的英文字體&#xff0c;“This is english,how does it look like?”。這一行是小字。后面幾個字是加粗的宋體。標點符號“&#xff0c;。&#xff1a;&#…

oracle between and monday,oracle——時間

時間數據1. 插入時間數據插入語法命令&#xff1a;insert into floor values (to_date(年-月-日 時:分:秒,YYYY-MM-DD HH24:MI:SS));完整的時間插入insert into floor values (to_date(2010-07-12 09:10:12,YYYY-MM-DD HH24:MI:SS));查詢顯示&#xff1a;2010-07-12 09:10:12.0…