搜尋

查询分类

单表查询:简单查询

多表查询:连接查询

联合查询:多个查询结果汇总

查询的组成

投影查询:挑选要显示的字段

select array1,array2,... from tb_name;

选择查询:挑选符合条件的行

select * from tb_name where-clause
where-clause:布尔条件表达式= # 等值比较 # 等值比较,包括与NULL的安全比较或!= # 不等值比较,>= # 其它比较符IS NULL # 是否为空值IS NOT NULL # 是否不为空值LIKE # 支持的通配符有%和_RLIKE或REGEXP # 正则表达式匹配IN # 判指定字段的值是否在给定的列表中BETWEEN … AND …# 在某取值范围内

组合条件查询

NOT,!# 非AND,&& # 和OR,|| # 或

聚合函数查询

SUM() # 求总和AVG() # 求平均值MAX() # 求最大值MIN() # 求最小值COUNT() # 求记录总数#注:count(*)效率最低,可指定某一字段求总数,如count(Name)

查询语句

语法

select ... from tb_name where-clause [others-clause]

各子句类型及作用

where # 条件过滤group by # 对查询结果分组having # 对group by的结果进行条件过滤order by # 排序limit # 限制输出行数,如”limit 2“表示只显示前2行,“limit 2,3”表示偏移前2行,显示3-5行

其它修饰符

123

distinct# 指定的结果相同的只显示一次

sql_cache# 缓存于查询缓存中

sql_no_cache# 不缓存查询结果

select的执行流程

from-->where-->group by-->having-->order by-->select-->limit

多表查询

说明

事先将两张或多张表连接(join),根据连接的结果进行查询

语法

select … from tb1 Join_Type tb2 [on (Join_Condition)]连接类型有:cross join,inner join,left join和right join等

连接分类

cross join:交叉连接,又称笛卡尔乘积

表1中的记录(共M条)与表2中的记录(共N条)逐一连接,交叉连接数据量较大,共M*N条记录;

select * from students,classes# 注:不带where子句哦

inner join:内连接,根据连接判断的运算符又可分类如下:

等值连接:根据表1和表2中某字段值相等进行连接,其查询结果中列出被连接表中的所有列,包括其中的重复列

select * from students,classes# 注:不带where子句哦

条件比较连接:在连接条件中使用除等号(=)运算符之外的运算符,如>,>=,等

自然连接:在连接条件中使用等号(=)运算符,且只选择结果集中的部分列,并删除连接表中的重复列

select a.name,p.pub_name from authors as a inner join publishers as p on a.city=p.city

外连接:返回查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接)、右表(右外连接)或两个边接表(全外连接)中的所有数据行

左外连接:返回包括左表中的所有记录和右表中联结字段相等的记录

tb1 LEFT JOIN tb2 ON 连接条件

右外连接:返回包括右表中的所有记录和左表中联结字段相等的记录

tb1 RIGHT JOIN tb2 ON 连接条件

全外连接:连接运算两边的关系中的元组都保留,MySQL不支持此种连接

自连接:同一表中某字段的多次比较使用

select stu1.Name as StuName,stu2.Name as TeachName from students as stu1,students as stu2 where stu1.TeacherID=stu2.StuID;

子查询

说明

在外层查询中嵌套的内层查询叫做子查询,类型有:

where型子查询:把内层查询结果当做外层查询的比较条件

select goods_id,goods_name from goods where goods_id = (select max(goods_id) from goods)# 子查询的返回值只能有1个

exists型子查询:把内层查询结果拿到外层,看外层的查询是否成立

select cat_id,cat_name from category where exists(select * from goods where goods.cat_id = category.cat_id);# 可通过转换为内连接查询:select cat_id,cat_name from category inner join goods on goods.cat_id=category.cat_id;# 与exists类似的还有in子查询,表示外层查询条件在一个内层查询的结果集内select * from user_core where userId in (select userId from user_classes where class_id=’A001’);

from型子查询:把内层的查询结果供外层查询使用

select name,avg(score) from stu where name in (select name from (select name,count(*) as gk from stu having gk >=2)) group by name;

注:MySQL不擅长于子查询的优化,故应避免使用子查询

联合查询

说明

把两个或多个查询语句的结果合并成一个结果进行输出,前提是多个查询结果的输出字段是一致的

语法

SELECT clause UNION SELECT clause UNION …

union:会将多个表的查询结果合并后进行排序,同时删除重复的行,故效率略慢;union和union all的区别

union all:只是简单的将多个表的结果合并后返回,不删除重复行,效率较高

实例

涉及的表结构:

wKioL1NTgmjRiTa1AAsXq1Kb2-I709.jpg

查询需求有:

wKiom1NTghWwD-ELABLZikPcbqU748.jpg

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
win11中就近共享/投放/投影/共享有什么区别?win11中就近共享/投放/投影/共享有什么区别?Feb 29, 2024 am 09:01 AM

win11系统各自带了就近共享、投放、投影、共享功能,这些功能该怎么使用?有什么区别呢?详细请看下文介绍。1、就近共享官方文档:就近共享-MicrosoftCommunity在Windows中与附近的设备共享内容(microsoft.com)作用:两台电脑通过蓝牙传输文件。(可用于无WiFi,无u盘的情况下)前提:两台电脑步骤:1)右键→转到设置2)系统→附件任何人(是让其他设备可以发现这个设备)3)两台电脑都这样设置4)右键需要发送的文件,点击共享。5)点击发现的另一台电脑即可传输文

win10怎么投影到此电脑win10怎么投影到此电脑Jan 06, 2024 pm 09:17 PM

在使用我们的投影功能的时候,我们可以将手机的屏幕画面投影到电脑屏幕上,只需要通过网络或蓝牙连接手机和电脑,然后在电脑上使用投屏功能就可以实现了。win10怎么投影到此电脑:1、从开始菜单进入到设置中,选择进入。2、然后我们在坐标能够找到选项,点击进入。3、然后我们对其进行设置。4、设置完成后,按下+快捷键,然后选择。5、然后我们打开手机的设置,能够看到,有些手机上是更多的连接方式,进入进行设置。6、我们找到的选项,进入选择好自己的电脑设备。7、此时,我们电脑上会出现提示框,我们点击就行了。

苹果手机怎么投影_苹果手机连接投影仪方法苹果手机怎么投影_苹果手机连接投影仪方法Mar 23, 2024 pm 08:01 PM

1、将投影仪与iPhone连接在同一网络,从屏幕右上角向下轻扫,打开控制中心,点击【屏幕镜像】。2、在屏幕镜像的扫描结果中,找到投影仪设备进行镜像即可。

win10如何隐藏桌面图标投影?win10如何隐藏桌面图标投影?Dec 22, 2023 am 08:13 AM

win10投影仪只显示桌面背景,不显示桌面图标,是什么问题你?相信有不少小伙伴都遇见过这个问题,其实这个问题很好解决的,下面跟小编一起来看看吧。win10投影不显示桌面图标解决办法你这是开启了双屏扩展模式,这不是问题,只是一种显示模式而已,也就是说你现在的电脑拥有两个显示屏,一个是你电脑的主屏幕,另一个是你投影仪投出来的屏幕,而你当前系统默认选择了双屏扩展模式。1、我们可以同时按下键盘上的“win+P”键。2、在主屏幕桌面的一侧(根据你的系统版本弹出方式会有所有不同)弹出如下4个选项。仅电脑屏幕

win10投影没反应怎么办win10投影没反应怎么办Jan 06, 2024 pm 10:53 PM

在使用win10投影的功能时,很多的用户们表示在使用这项功能等时候,投影功能并没有任何反应,或者无法正常的进行使用等,这时候需要先排查系统功能、再确认投影仪工作情况即可解决。win10投影没反应怎么办:1、如果是手机投影到电脑,请确保你的手机和电脑在同一WiFi网络下。2、在电脑端的设置中,在右侧将设置为,将关闭。3、如果还是无法解决,请重新安装网卡驱动,卸载重新安装,或者直接更新。4、如果是连接投影仪,请检查VGA的线是否出现了问题,是否接好。5、如果电脑是双系统的话,也会导致显卡驱动冲突致使

win10如何使用投影功能?win10如何使用投影功能?Dec 29, 2023 am 11:49 AM

在使用win10投影仪的时候,我们就需要每次从设置中或者控制面板中去打开,操作起来非常的麻烦,那么投影仪有没有快捷键,这个当然是有的哦,快来看看快捷键的介绍吧~win10投影快捷键是什么:1、用户们在键盘上按下+就能快速打开投影设置了。2、然后我们选择需要的方式,就能够进行投影了哦。相关文章:win10怎么投影到此电脑>>>win10投影仪怎么铺满全屏>>>

如何解决win10家庭版投影到此电脑选项消失的问题如何解决win10家庭版投影到此电脑选项消失的问题Jan 16, 2024 pm 05:21 PM

win10用户一般喜欢使用Windows10系统的投影功能。如果发现连接功能菜单内并未显示“投影到此电脑”选项。不要担心,下面为您详细介绍如何轻松解决该问题!请按照以下步骤操作:win10家庭版投影到此电脑选项没有了怎么办1、首先,点击左下角的专用图标,会看到弹出多个选项菜单。2、再次点击任何一个选项按钮以进行确认,进入页面。3、在主页中,找到并点击按钮,点击选项卡。4、此时,我们将会发现在这个选项中存在着两种不同类型的投影设置。5、为了确保在任何场合均可顺利实现投屏功能,勾选即可。

win10你的电脑不能投影到其他屏幕win10你的电脑不能投影到其他屏幕Feb 16, 2024 am 10:36 AM

在日常的办公篇章中,我们常常会遇到无法回避的情景——使用电子设备进行投屏展示。然而,最近据一些使用者反馈,他们在升级至Windows10操作系统之后,投屏功能突然失效,不知所措。在此背景下,以下提供的解决方案或可供您作为参考并尝试执行。win10你的电脑不能投影到其他屏幕原因一:显卡驱动过时陈旧需要升级更新的问题1、只需下载诸如360驱动大师或驱动人生等专业的驱动更新管理软件,并在其范围内筛选出需要进行显卡驱动更新的选项即可。2、也可以进入电脑大红色纸里面来进行驱动的更新,不过找不到对应的设备的

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版