国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站域名被劫持怎么辦百度識(shí)圖搜索網(wǎng)頁(yè)版

網(wǎng)站域名被劫持怎么辦,百度識(shí)圖搜索網(wǎng)頁(yè)版,公司做網(wǎng)站的好處,東莞知名網(wǎng)站建設(shè)前言 ?歡迎來(lái)到小K的MySQL專欄,本節(jié)將為大家?guī)?lái)MySQL標(biāo)量/單行子查詢、列子/表子查詢的講解? 目錄 前言一、子查詢概念二、標(biāo)量/單行子查詢、列子/表子查詢?nèi)?、總結(jié) 一、子查詢概念 子查詢指一個(gè)查詢語(yǔ)句嵌套在另一個(gè)查詢語(yǔ)句內(nèi)部的查詢,這個(gè)特性從My…

前言

?歡迎來(lái)到小K的MySQL專欄,本節(jié)將為大家?guī)?lái)MySQL標(biāo)量/單行子查詢、列子/表子查詢的講解?

目錄

      • 前言
      • 一、子查詢概念
      • 二、標(biāo)量/單行子查詢、列子/表子查詢
      • 三、總結(jié)

一、子查詢概念

子查詢指一個(gè)查詢語(yǔ)句嵌套在另一個(gè)查詢語(yǔ)句內(nèi)部的查詢,這個(gè)特性從MySQL 4.1開始引入;在特定情況下,一個(gè)查詢語(yǔ)句的條件需要另一個(gè)查詢語(yǔ)句來(lái)獲取,內(nèi)層查詢(inner query)語(yǔ)句的查詢結(jié)果,可以為外層查詢(outer query)語(yǔ)句提供查詢條件。

內(nèi)層查詢即子查詢,外層查詢即主查詢,只是叫法不同而已

?查詢需求:

查詢公司中工資最低的員工信息

工資最低是多少?

SELECT * FROM emp WHERE sal=(SELECT MIN(sal) FROM emp); 

?子查詢規(guī)范:

  • 子查詢必須放在小括號(hào)中
  • 子查詢一般放在比較操作符的右邊,以增強(qiáng)代碼可讀性
  • 子查詢可以出現(xiàn)在幾乎所有的SELECT字句中(如:SELECT、FROM、WHERE、ORDER BY、HAVING子句

?子查詢分類:

  1. 根據(jù)子查詢返回的數(shù)據(jù)分類:

    • 標(biāo)量子查詢(scalar subquery):返回1行1列一個(gè)值

    • 行子查詢(row subquery):返回的結(jié)果集是 1 行 N 列

    • 列子查詢(column subquery):返回的結(jié)果集是 N 行 1列

    • 表子查詢(table subquery):返回的結(jié)果集是 N 行 N 列

      子查詢可以返回一個(gè)標(biāo)量(就一個(gè)值)、一個(gè)行、一個(gè)列或一個(gè)表,這些子查詢分別稱之為標(biāo)量、行、列和表子查詢。

  2. 根據(jù)子查詢和主查詢之間是否有條件關(guān)聯(lián)分類:

    • 相關(guān)子查詢:兩個(gè)查詢之間有一定的條件關(guān)聯(lián)(相互聯(lián)系)
    • 不相關(guān)子查詢:兩個(gè)查詢之間沒(méi)有條件關(guān)聯(lián)(相互獨(dú)立)
  3. 為了方便,對(duì)于在何處使用子查詢給大家給出幾點(diǎn)個(gè)人建議:

    • 子查詢出現(xiàn)在WHERE子句中:此時(shí)子查詢返回的結(jié)果一般都是單列單行、單行多列、多行單列
    • 子查詢出現(xiàn)在HAVING子句中:此時(shí)子查詢返回的都是單行單列數(shù)據(jù),同時(shí)為了使用統(tǒng)計(jì)函數(shù)操作
    • 子查詢出現(xiàn)在FROM子句中:此時(shí)子查詢返回的結(jié)果圖一般都是多行多列,可以按照一張數(shù)據(jù)表(臨時(shí)表)的形式操作

二、標(biāo)量/單行子查詢、列子/表子查詢

??標(biāo)量子查詢

子查詢返回的是單行單列的數(shù)據(jù),就是一個(gè)值

  • 查詢出基本工資比ALLEN低的全部員工信息
SELECT * FROM emp WHERE sal<(SELECT sal FROM emp WHERE eanme='ALLEN');
  • 查詢基本工資高于公司平均工資的全部員工信息
SELECT * FROM emp WHERE sal>(SELECT AVG(sal) FROM emp);
  • 查詢出與ALLEN從事同一工作,并且基本工資高于員工編號(hào)為7521的全部員工信息
SELECT * FROM emp WHERE job=(SELECT job FROM emp WHERE ename='ALLEN') 
AND sal>(SELECT sal FROM emp WHERE empno=7521)
#把ALLEN自己去掉
AND ename<>'ALLEN';

?效果如下:

在這里插入圖片描述

??單行子查詢

子查詢返回的是單行多列的數(shù)據(jù),就是一條記錄

  • 查詢與SCOTT從事統(tǒng)一工作且工資相同的員工信息
SELECT * FROM emp WHERE (job,sal)=(SELECT job,sal FROM emp WHERE ename='SCOTT')
AND ename<>'SCOTT';
  • 查詢與員工編號(hào)為7566從事統(tǒng)一工作且領(lǐng)導(dǎo)相同的全部員工信息
SELECT * FROM emp WHERE (job,mgr)=(SELECT job,mgr FROM emp WHERE empno=7566)
AND emp<>7566;

?效果如下:
在這里插入圖片描述

??列子查詢(多行子查詢)

子查詢返回的是多行單列的數(shù)據(jù),就是一列數(shù)據(jù)。多行子查詢也稱為集合比較子查詢,

在使用多行子查詢需要使用多行比較操作符:

操作符含義
IN等于列表中的任意一個(gè)
ANY需要和單行比較操作符一起使用(>、<、=、<>…),與子查詢結(jié)果中任何一個(gè)值比較,一個(gè)成立
ALL需要和單行比較操作符一起使用(>、<、=、<>…),和子查詢返回的所有值比較,同時(shí)成立
SOME實(shí)際上是ANY的別名,作用相同,一般用ANY
  • IN操作符

    IN 運(yùn)算符用來(lái)判斷表達(dá)式的值是否位于給出的列表中;如果是,返回值為 1,否則返回值為 0。

    NOT IN 的作用和 IN 恰好相反,NOT IN 用來(lái)判斷表達(dá)式的值是否不存在于給出的列表中;如果不是,返回值為 1,否則返回值為 0。

    • 查詢出與每個(gè)部門中最低工資相同的員工信息
      • 按照部門分組,統(tǒng)計(jì)每個(gè)部門的最低工資
      • 根據(jù)最低工資查詢出員工信息
SELECT * FROM emp WHERE sal IN(SELECT MIN(sal) FROM emp GROUP BY deptno)
AND deptno IS NOT NULL;
  • ANY操作符

    ANY關(guān)鍵字是一個(gè)MySQL運(yùn)算符,如果子查詢條件中ANY的比較結(jié)果為TRUE,則它會(huì)返回布爾值TRUE

    • 查詢工資比任何管理工資都要高的員工信息
      • 查找出每個(gè)管理的薪資
      • 每個(gè)員工的薪資與每個(gè)管理的薪資比較
SELECT * FROM emp WHERE sal >ANY(
SELECT MIN(sal) FROM emp WHERE job='MANAGER' GROUP BY deptno);
  • ALL操作符

    ALL關(guān)鍵字是一個(gè)MySQL運(yùn)算符,如果子查詢條件中ALL的比較結(jié)果為TRUE,則它會(huì)返回布爾值TRUE 。

    • 案例同ANY操作符

?效果如下:

在這里插入圖片描述

??表子查詢

子查詢返回的是多行多列的數(shù)據(jù),就是一個(gè)表格
必須使用 IN、ANY 和 ALL 操作符對(duì)子查詢返回的結(jié)果進(jìn)行比較

?綜合練習(xí):

  • 在emp表中,得到與10號(hào)部門任何一個(gè)員工入職年份和領(lǐng)導(dǎo)相同的員工信息(用在where子句中)
    • 需要用到DATE_FORMAT(hiredate,'%Y')將入職日期轉(zhuǎn)換為年份
SELECT * FROM emp
WHERE (DATE_FORMAT(hiredate,'%Y'),mgr) IN (SELECT DATE_FORMAT(hiredate,'%Y') hiryear,mgr FROM emp WHERE deptno=10);

在這里插入圖片描述

  • 查詢出每個(gè)部門的編號(hào)、名稱、位置、部門人數(shù)、平均工資(用在from子句中)
    • 以前學(xué)的多表聯(lián)合查詢——-emp、dept
    • 用子查詢聯(lián)合查詢
SELECT d.deptno,d.dname,d.loc,COUNT(e.deptno),ROUND(AVG(sal),2) FROM
dept d LEFT JOIN emp e
ON e.deptno=d.deptno
GROUP BY d.deptno,d.dname,d.loc;SELECT dept.deptno,dept.dname,dept.loc,d.count,d.avgsal FROM dept LEFT JOIN 
(SELECT deptno,COUNT(*) count,AVG(sal) avgsal  FROM emp GROUP BY deptno) d
ON dept.deptno=d.deptno;

在這里插入圖片描述

  • 查詢出所有在’SALES’部門工作的員工編號(hào)、姓名、基本工資、獎(jiǎng)金、職位、雇傭日期、部門的最高和最低工資。(where和from子句同時(shí)使用)
#1
SELECT e.empno,e.ename,e.sal,e.comm,e.job,e.hiredate,minsal,maxsal,e.deptno  
FROM emp e JOIN 
(SELECT deptno,MIN(sal) minsal,MAX(sal) maxsal FROM emp GROUP BY deptno) td
ON e.deptno=td.deptno AND e.deptno=(SELECT deptno FROM dept WHERE dname='SALES');#2
SELECT e.empno,e.ename,e.sal,e.comm,e.job,e.hiredate,minsal,maxsal,e.deptno  
FROM emp e JOIN 
(SELECT deptno,MIN(sal) minsal,MAX(sal) maxsal FROM emp GROUP BY deptno
HAVING deptno=(SELECT deptno FROM dept WHERE dname='SALES')) td
ON e.deptno=td.deptno;

在這里插入圖片描述

  • 查詢出比‘ALLEN’或‘CLACRK’薪資多的所有員工的編號(hào)、姓名、基本工資、部門名稱、領(lǐng)導(dǎo)姓名、部門人數(shù)。
#隱式方式
SELECT e.empno,e.ename,e.sal,d.dname,me.ename 領(lǐng)導(dǎo),temp.count FROM emp e,dept d,emp me,
(SELECT deptno,COUNT(deptno) count FROM emp e GROUP BY deptno) temp
WHERE e.deptno=d.deptno AND e.mgr=me.empno AND temp.deptno=e.deptno
AND e.sal >ANY(SELECT sal FROM emp WHERE ename IN('ALLEN','CLARK'))
AND e.ename NOT IN('ALLEN','CLARK');#顯示方式
SELECT e.empno,e.ename,e.sal,d.dname,me.ename 領(lǐng)導(dǎo),temp.count 
FROM emp e 
JOIN dept d ON e.deptno=d.deptno
LEFT JOIN emp me ON e.mgr=me.empno
JOIN (SELECT deptno,COUNT(deptno) count FROM emp e GROUP BY deptno) temp ON temp.deptno=e.deptno
AND e.sal >ANY(SELECT sal FROM emp WHERE ename IN('ALLEN','CLARK'))
AND e.ename NOT IN('ALLEN','CLARK');

在這里插入圖片描述

  • 列出公司各個(gè)部門的經(jīng)理(假設(shè)每個(gè)部門只有一個(gè)經(jīng)理,job為‘MANAGER’)的姓名、薪資、部門名稱、部門人數(shù)、部門平均工資。
#隱式方式
SELECT e.ename,e.sal,d.dname,temp.count,temp.avgsal
FROM emp e,dept d,(SELECT deptno, COUNT(deptno) count,AVG(sal) avgsal FROM emp GROUP BY deptno) tempWHERE job='MANAGER' AND e.deptno=d.deptno AND temp.deptno=e.deptno;#顯示方式
SELECT e.ename,e.sal,d.dname,temp.count,temp.avgsal
FROM emp e 
JOIN dept d ON e.deptno=d.deptno 
JOIN (SELECT deptno, COUNT(deptno) count,AVG(sal) avgsal FROM emp GROUP BY deptno) temp ON temp.deptno=e.deptnoAND job='MANAGER';

在這里插入圖片描述

  • 查詢出所有薪資高于公司平均薪資的員工編號(hào)、姓名、基本工資、職位、雇傭日期、所在部門名稱、部門位置、上級(jí)領(lǐng)導(dǎo)姓名、工資等級(jí)、部門人數(shù)、平均工資、平均服務(wù)年限。
#隱式方式
SELECT e.empno,e.ename,e.sal,e.job,e.hiredate,d.dname,d.loc,me.ename 領(lǐng)導(dǎo),s.grade,temp.count,temp.avgsal,temp.avgyear
FROM emp e,dept d,emp me,salgrade s,(SELECT deptno,COUNT(deptno) count,AVG(sal) avgsal,AVG(TIMESTAMPDIFF(MONTH,hiredate,CURDATE())/12) avgyear FROM emp GROUP BY deptno) temp 
WHERE e.deptno=d.deptno AND e.sal>(SELECT AVG(sal) FROM emp)
AND e.mgr=me.empno
AND e.sal BETWEEN s.losal AND s.hisal
AND temp.deptno=e.deptno;#顯示方式
SELECT e.empno,e.ename,e.sal,e.job,e.hiredate,d.dname,d.loc,me.ename 領(lǐng)導(dǎo),s.grade,temp.count,temp.avgsal,temp.avgyear
FROM emp e 
JOIN dept d ON e.deptno=d.deptno AND e.sal>(SELECT AVG(sal) FROM emp)
LEFT JOIN emp me ON e.mgr=me.empno
JOIN salgrade s ON e.sal BETWEEN s.losal AND s.hisal
JOIN (SELECT deptno,COUNT(deptno) count,AVG(sal) avgsal,AVG(TIMESTAMPDIFF(MONTH,hiredate,CURDATE())/12) avgyear FROM emp GROUP BY deptno) temp ON temp.deptno=e.deptno;

在這里插入圖片描述

三、總結(jié)

  • ?? 子查詢?cè)试S結(jié)構(gòu)化的查詢,這樣就可以把一個(gè)查詢語(yǔ)句的每個(gè)部分隔開。
  • ??子查詢提供了另一種方法來(lái)執(zhí)行有些需要復(fù)雜的join和union來(lái)實(shí)現(xiàn)的操作。
  • ??在許多人看來(lái),子查詢可讀性較高。 而實(shí)際上,這也是子查詢的由來(lái)。
http://aloenet.com.cn/news/35912.html

相關(guān)文章:

  • 手機(jī)軟件下載大全seo優(yōu)化設(shè)計(jì)
  • 集團(tuán)網(wǎng)站開發(fā)公司百度app下載官方
  • 網(wǎng)站開發(fā)行業(yè)免費(fèi)的拓客平臺(tái)有哪些
  • 如何查一個(gè)網(wǎng)站的備案號(hào)網(wǎng)站權(quán)重
  • 桂林微信網(wǎng)站優(yōu)化師是做什么的
  • 廣州網(wǎng)站建設(shè)設(shè)計(jì)平臺(tái)制作網(wǎng)站要花多少錢
  • 旅游公司網(wǎng)站建設(shè)ppt深圳專業(yè)建站公司
  • 做ps的網(wǎng)站有哪些功能嗎蘭州seo公司
  • 網(wǎng)站開發(fā)所需經(jīng)費(fèi)上海疫情最新數(shù)據(jù)
  • 做動(dòng)態(tài)網(wǎng)站需要學(xué)什么最新的軍事新聞
  • 建設(shè)網(wǎng)站需要多少錢百度競(jìng)價(jià)排名醫(yī)院事件
  • 成都網(wǎng)站建設(shè) 四川冠辰科技公司建站平臺(tái)如何隱藏技術(shù)支持
  • 統(tǒng)一企業(yè)信息管理系統(tǒng)網(wǎng)站seo博客網(wǎng)站
  • 煙臺(tái)網(wǎng)站建設(shè)優(yōu)化百度查詢關(guān)鍵詞排名工具
  • 廈門比較好的網(wǎng)站設(shè)計(jì)公司刷網(wǎng)站seo排名軟件
  • java ee只是做網(wǎng)站免費(fèi)網(wǎng)站注冊(cè)免費(fèi)創(chuàng)建網(wǎng)站
  • 沙井網(wǎng)站建設(shè)哈爾濱seo優(yōu)化
  • 融資網(wǎng)站建設(shè)方案競(jìng)價(jià)網(wǎng)絡(luò)推廣托管
  • 可以做h5的網(wǎng)站百度指數(shù)特點(diǎn)
  • 男女做那個(gè)能看的視頻網(wǎng)站新產(chǎn)品宣傳推廣策劃方案
  • 網(wǎng)站建設(shè)賬戶搭建頁(yè)面關(guān)鍵詞優(yōu)化
  • 做網(wǎng)站開發(fā)錢百度指數(shù)有哪些功能
  • 泰安網(wǎng)站優(yōu)化濟(jì)南百度開戶電話
  • 重慶建網(wǎng)站公司互聯(lián)網(wǎng)服務(wù)平臺(tái)
  • 做網(wǎng)站怎樣備案推廣代理平臺(tái)
  • 江陰規(guī)劃建設(shè)局網(wǎng)站關(guān)鍵詞排名方案
  • 歐美網(wǎng)站欣賞網(wǎng)站關(guān)鍵詞優(yōu)化培訓(xùn)
  • 寶雞品牌網(wǎng)站建設(shè)百度關(guān)鍵字搜索排名
  • 舉報(bào)網(wǎng)站賺錢安徽建站
  • 個(gè)人網(wǎng)站備案名稱舉例西安百度推廣優(yōu)化托管