有两张表:user和department User表: CREATE TABLE `user` ( INSERT INTO USER VALUE(NAME,age,birthday) VALUES("张三",20,"2018-10-31"); 表内数据如下: 部门表: CREATE TABLE `department` ( INSERT INTO department (id,NAME,descr) VALUES(1,"开发部","开发高级产品"); 表内数据如下: 一、正常两表联合查询的sql语句:SELECT u.id,u.name,u.age,d.name,d.descr FROM USER u,department d WHERE u.id=d.id 查询结果 (或者:SELECT * FROM USER u,department d WHERE u.id=d.id) 二、左联查询sql语句: SELECT * FROM USER u LEFT JOIN department d ON u.id=d.id 查询结果: 根据查询结果可以看出:左联查询把前面表(user)全部查出,右表只查出部分,左表有的右表没有就为空
三、右联查询sql语句:SELECT * FROM USER u RIGHT JOIN department d ON u.id=d.id 查询结果: 根据结果可以看出:右联查询把后面表(department)全部查出,左表只查出部分,右表有的左表没有就为空
四、内联查询sql语句:SELECT * FROM USER u INNER JOIN department d ON u.id=d.id 其结果与SELECT * FROM USER u,department d WHERE u.id=d.id查询结果一样,查出两表中满足条件的记录(是两张表同时满足哦)
还可以使用where或and带条件查询。 SELECT * FROM USER u INNER JOIN department d ON u.id=d.id AND u.age=20 查询结果: SELECT * FROM USER u LEFT JOIN department d ON u.id=d.id WHERE u.name LIKE '%王%' SELECT * FROM USER u RIGHT JOIN department d ON u.id=d.id AND u.age=20 查询结果:
根据以上可以看出: 1、使用外联查询时,添加and查询条件,不影响内外联查询的性质,只是查询的结果满足查询条件,添加where查询条件时,只能查到满足条件的记录(结果与内联查询一样)。 2、内联查询时,添加and或where条件时,查询结果都一样,只与查询条件有关
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端