连接查询和子查询(部分)
连接查询:连接查询是关系型数据库的主要特点,是区别其他类型的数据库的一个标志!
连接查询又分为:内连接 外连接
平时我们的查询一般是:
select s.name,m.mark from student s,mark m where s.id=m.studentid
上面是一般的待条件查询意思是将两个表中id号码相等的名字和分数打印出来 因为分
数和名字存在于两个表中 备注 student s 这个表示将student简称为s;
但是当我们使用连接查询就是:
select s.name,m.mark from student s inner join mark m on s.id=m.studentid
select s.name,m.mark from 前面这个就不用我多说了吧!student s inner join mark m 这个表示把两个表相关连
on s.id=m.studentid 这个是条件
上面的这个是内连接
下面介绍外连接 : 左连接 和 右连接
做连接:
select s.name,m.mark from student s left join mark m on s.id=m.studentid这里唯一变化的是inner变为left 他的意思是左边的表格中的s.name全部打印出来 但是右边对应的有分数的话就对应的打出来,如果右边的没有分数就用null来表示!
一次类推右链接 和全连接(full 表示两边的表都打印出来)
子查询:
1,单行子查询
select name from student where id=1002;
这句语句就不用我解释了,不用怀疑这就是简单的单行子查询
select name from student where id=1002 and mark>80;
这一句只是多加了一个条件,没啥区别select name,mark from mark>(select mark from student where name='张三'and sex='女');2,多行查询
![]()
多行子查询不建议 开发中一般使用连接查询,建议读者将连接查询弄熟悉!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)