最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

DQL命令查詢數(shù)據(jù)實(shí)現(xiàn)方法詳解

 更新時(shí)間:2022年09月23日 09:10:37   作者:方片6  
DQL(Data?Query?Language,數(shù)據(jù)查詢語(yǔ)言),查詢數(shù)據(jù)庫(kù)數(shù)據(jù),如SELECT語(yǔ)句,簡(jiǎn)單的單表查詢或多表的復(fù)雜查詢和嵌套查詢,數(shù)據(jù)庫(kù)語(yǔ)言中最核心、最重要的語(yǔ)句,使用頻率最高的語(yǔ)句

一、SELECT語(yǔ)法-排序

SELECT   [ALL | DISTINCT] 
{  * |  table.* | [ table.field1 [ as  alias1] [, table.field2 [as  alias2]][, …]] }
FROM  table_name  [ as  table_ alias  ]
	[ left|out|inner  join  table_name2 ]    //多表連接查詢
    [ WHERE  … ]   	//指定結(jié)果需滿足的條件
    [ GROUP BY …]	//指定結(jié)果按照哪幾個(gè)字段來(lái)分組
    [ HAVING …]	//過(guò)濾分組的記錄必須滿足的次要條件
    [ ORDER BY… ]	//指定查詢記錄按一個(gè)或者多個(gè)條件排序
	[ LIMIT  {   [ offset,] row_count    |   row_count OFFSET offset   }] ;  //分頁(yè)查詢

排序可以是升序(ASC)或者降序(DESC),如果不指定ASC或DESC,結(jié)果集默認(rèn)按ASC升序排序:

如以下

//把成績(jī)都降低10%后加5分,再查詢及格成績(jī),并按照成績(jī)從高到低排序。
SELECT studentno AS 學(xué)生編號(hào),(studentresult*0.9+5 ) AS 綜合成績(jī)
FROM `result`
WHERE (`studentresult`*0.9+5) >=60
ORDER BY studentresult DESC;
//把成績(jī)都降低10%后加5分,再查詢及格成績(jī),并按照成績(jī)從高到低排序,如果成績(jī)
//相同,再按照課程編號(hào)進(jìn)行排序。
SELECT studentno AS 學(xué)生編號(hào),(studentresult*0.9+5 ) AS 綜合成績(jī)
FROM `result`
WHERE (`studentresult`*0.9+5) >=60
ORDER BY studentresult DESC,subjectno;

二、SELECT語(yǔ)法-分頁(yè)查詢

SELECT   [ALL | DISTINCT] 
{  * |  table.* | [ table.field1 [ as  alias1] [, table.field2 [as  alias2]][, …]] }
FROM  table_name  [ as  table_ alias  ]
	[ left|out|inner  join  table_name2 ]    //多表連接查詢
    [ WHERE  … ]   	//指定結(jié)果需滿足的條件
    [ GROUP BY …]	//指定結(jié)果按照哪幾個(gè)字段來(lái)分組
    [ HAVING …]	//過(guò)濾分組的記錄必須滿足的次要條件
    [ ORDER BY… ]	//指定查詢記錄按一個(gè)或者多個(gè)條件排序
    [ LIMIT  {   [ offset,] row_count    |   row_count OFFSET offset   }] ;  //分頁(yè)查詢
	offset://偏移量 
	row_count://顯示的記錄數(shù)
	LIMIT //LIMIT 子句:MySQL查詢語(yǔ)句中使用LIMIT子句限制結(jié)果集
	如:SELECT studentno,studentresult 
		FROM result
		WHERE subjectno=1 AND YEAR(examdate)=2019
		ORDER BY studentresult DESC
		LIMIT 5 //限制顯示的結(jié)果集的行數(shù),只顯示5條

三、SELECT語(yǔ)法-分組查詢

SELECT   [ALL | DISTINCT] 
{  * |  table.* | [ table.field1 [ as  alias1] [, table.field2 [as  alias2]][, …]] }
FROM  table_name  [ as  table_ alias  ]
    [ left|out|inner  join  table_name2 ]    //多表連接查詢
    [ WHERE  … ]   	//指定結(jié)果需滿足的條件
    [ GROUP BY …]	//指定結(jié)果按照哪幾個(gè)字段來(lái)分組
    [ HAVING …]	//過(guò)濾分組的記錄必須滿足的次要條件
    [ ORDER BY… ]	//指定查詢記錄按一個(gè)或者多個(gè)條件排序
    [ LIMIT  {   [ offset,] row_count    |   row_count OFFSET offset   }] ;  //分頁(yè)查詢
GROUP BY作用:使用GROUP BY關(guān)鍵字對(duì)查詢結(jié)果分組
	對(duì)所有的數(shù)據(jù)進(jìn)行分組統(tǒng)計(jì)
	分組的依據(jù)字段可以有多個(gè),并依次分組
	與HAVING結(jié)合使用,進(jìn)行分組后的數(shù)據(jù)篩選
GROUP BY子句經(jīng)常和聚合函數(shù)結(jié)合使用完成分組統(tǒng)計(jì)功能

四、WHERE與HAVING對(duì)比

WHERE子句

用來(lái)篩選 FROM 子句中指定的操作所產(chǎn)生的行

GROUP BY子句

用來(lái)分組 WHERE 子句的輸出

HAVING子句

用來(lái)從分組的結(jié)果中篩選行

五、子查詢

基本語(yǔ)法:

SELECT … FROM 表名 WHERE 字段X 比較運(yùn)算符(子查詢)

1.外層查詢稱為父查詢,圓括號(hào)中的查詢稱為子查詢。

2.執(zhí)行SQL語(yǔ)句時(shí),先執(zhí)行子查詢,返回所有來(lái)自子查詢的結(jié)果,再執(zhí)行外圍的父查詢,返回查詢的最終結(jié)果。

3.將子查詢和比較運(yùn)算符聯(lián)合使用,必須保證子查詢返回的值不能多于一個(gè)。

1、IN子查詢

IN后面的子查詢可以返回多條記錄。

SELECT … FROM 表名 WHERE 字段X IN(子查詢)

2、EXISTS子查詢

EXISTS 子查詢:帶有EXISTS的子查詢不返回任何記錄的數(shù)據(jù),只返回邏輯值“True”或“False”。

有結(jié)果為“True”,執(zhí)行語(yǔ)句;無(wú)結(jié)果為“False”,不執(zhí)行語(yǔ)句。

子查詢有返回結(jié)果: EXISTS子查詢結(jié)果為TRUE,執(zhí)行外層查詢;

子查詢無(wú)返回結(jié)果: EXISTS子查詢結(jié)果為FALSE, 外層查詢不執(zhí)行;

SELECT …… FROM 表名 WHERE EXISTS(子查詢);

六、多表連接查詢

1、內(nèi)連接

內(nèi)連接使用比較運(yùn)算符根據(jù)每個(gè)表的通用列中的值匹配兩個(gè)表中的行。

SELECT   字段列表   FROM   表1  INNER JOIN  表2 ON    表1.通用字段名=表2.通用字段名
SELECT   字段列表 FROM   表1 ,表2 WHERE    表1.通用字段名=表2.通用字段名

需要注意的是:

如果兩個(gè)表中有相同的字段名,必須在列名前加表名。否則將出現(xiàn) 錯(cuò)誤代碼:1052 Column ‘studentno’ in field

list is ambiguous

查詢學(xué)生的學(xué)號(hào)、姓名和成績(jī),并按照成績(jī)降序排列
//第一種寫法
SELECT s.studentno,s.studentname,r.studentresult FROM 
student AS s INNER JOIN  result AS r
ON s.studentno=r.studentno ORDER BY r.studentresult DESC
//第二種寫法
SELECT s.studentno,s.studentname,r.studentresult FROM 
student AS s,result AS r
WHERE s.studentno=r.studentno
ORDER BY r.studentresult DESC

2、多表內(nèi)連接

ELECT   字段列表 FROM   表1 join 表2 on 表1.通用字段名=表2.通用字段名 
join 表3 on 表1.通用字段名=表3.通用字段名
join 表4 on 表4.通用字段名=表3.通用字段名;

3、左外連接

左表(表1)的記錄將會(huì)全部表示出來(lái),而右表(表2)只會(huì)顯示符合匹配條件的記錄。如圖:

匹配,返回到結(jié)果集

無(wú)匹配,NULL值返回到結(jié)果集

SELECT 字段列表 FROM 表1 LEFT JOIN 表2 ON 表1.通用字段名=表2.通用字段名

4、右外連接

右外連接:右表(表2)的記錄將會(huì)全部表示出來(lái),而左表(表1)只會(huì)顯示符合匹配條件的記錄。如圖:

匹配,返回到結(jié)果集

無(wú)匹配,NULL值返回到結(jié)果集

SELECT 字段列表 FROM 表1 RIGHT JOIN 表2 ON 表1.通用字段名=表2.通用字段名

5、自連接

自連接查詢其實(shí)等同于連接查詢,需要兩張表,只不過(guò)它的左表(父表)和右表(子表)都是自己。做自連接查詢的時(shí)候,是自己和自己連接,分別給父表和子表取兩個(gè)不同的別名,然后附上連接條件。

SELECT  c1.cname AS "父名稱",c2.cname AS  "子名稱" 
FROM tbl_category AS c1, tbl_category  AS c2 
WHERE c1.cid = c2.pid; 

6、不同的SQL JOIN對(duì)比

如圖片:

到此這篇關(guān)于DQL命令查詢數(shù)據(jù)實(shí)現(xiàn)方法詳解的文章就介紹到這了,更多相關(guān)DQL命令查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mysql my.ini 配置文件詳解

    Mysql my.ini 配置文件詳解

    Mysql my.ini 配置文件詳解
    2009-06-06
  • MySql逗號(hào)拼接字符串查詢的兩種方法

    MySql逗號(hào)拼接字符串查詢的兩種方法

    這篇文章主要介紹了MySql逗號(hào)拼接字符串查詢的兩種方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • MySQL8.0修改密碼的正確姿勢(shì)分享

    MySQL8.0修改密碼的正確姿勢(shì)分享

    如果當(dāng)初設(shè)置了一個(gè)很復(fù)雜的數(shù)據(jù)庫(kù)密碼,是很可能忘記的,下面這篇文章主要給大家介紹了關(guān)于MySQL8.0修改密碼的正確姿勢(shì),需要的朋友可以參考下
    2022-03-03
  • Windows下mysql修改root密碼的4種方法

    Windows下mysql修改root密碼的4種方法

    這篇文章主要為大家詳細(xì)介紹了windows下mysql修改root密碼的4種方法,大家可以根據(jù)的自己的實(shí)際情況進(jìn)行選擇,感興趣的小伙伴們可以參考一下
    2016-05-05
  • MySQL 跨庫(kù)查詢示例場(chǎng)景分析

    MySQL 跨庫(kù)查詢示例場(chǎng)景分析

    在 MySQL 數(shù)據(jù)庫(kù)應(yīng)用場(chǎng)景中,有時(shí)需要從多個(gè)數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)并進(jìn)行關(guān)聯(lián)分析或綜合處理,這就涉及到跨庫(kù)查詢操作,本指南將詳細(xì)介紹 MySQL 跨庫(kù)查詢的方法、注意事項(xiàng)以及相關(guān)示例,感興趣的朋友一起看看吧
    2025-04-04
  • 準(zhǔn)確獲取MySQL主從延遲時(shí)間的方法

    準(zhǔn)確獲取MySQL主從延遲時(shí)間的方法

    既然是主從,是讀寫分離,那就不可避免會(huì)產(chǎn)生延遲,因?yàn)閿?shù)據(jù)從主機(jī)同步到從機(jī),總是需要時(shí)間的,那么如何準(zhǔn)確獲取主從延遲的時(shí)間呢,本文小編給大家詳細(xì)介紹了準(zhǔn)確獲取MySQL主從延遲時(shí)間的方法,需要的朋友可以參考下
    2025-03-03
  • 詳解MySQL8.0+常用命令

    詳解MySQL8.0+常用命令

    這篇文章主要介紹了MySQL8.0+常用命令及操作命令,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 最新評(píng)論

    南陵县| 剑河县| 聂拉木县| 绍兴市| 东台市| 兴安盟| 密山市| 五常市| 呼图壁县| 汽车| 泸定县| 沅江市| 博野县| 德州市| 平谷区| 平潭县| 离岛区| 信丰县| 宁津县| 吉首市| 宁强县| 沽源县| 沁水县| 成武县| 炉霍县| 民和| 宜昌市| 儋州市| 思南县| 台州市| 青神县| 肥乡县| 阜阳市| 青川县| 西城区| 区。| 修武县| 丹棱县| 丰顺县| 大方县| 兴宁市|