排名
5
文章
229
粉丝
15
评论
7
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术

代码如下:这个是更优化版本,后面可以放到我自己的大号里边去
/*
连接查询:笛卡尔积,内连接,外连接,自连接,联合查询
*/
/* 笛卡尔积 一次性查询两张表,在from后面逗号分隔 18*6。{1,2} * {A,B,C} = {1A,1B,1C,2A,2B,2C......} */
select * from students,class
/*内连接*/
-- 隐式内连接 语法:select 查询字段 from 表1,表2 where 两个表的连接条件
select students.username,class.ClassName from students,class where students.classid = class.Id
-- 显示内连接 语法:select 查询字段 from 表1 join 表2 on 两个表的连接条件 (使用更新的连表查询)
select students.username,students.age,class.ClassName,class.Position from students inner join class on students.classid = class.Id
-- 连接表的时候取一个别名,简化语句,可以使用别名代替表名
select s.username,s.age,c.ClassName,c.Position from students s join class c on s.classid = c.id
/*外连接*/
-- 左外连接
select s.username, ifnull(c.ClassName,'暂未如班级')
from students s left outer join class c on s.classid = c.id
-- 右外连接 (实际开发中右外连接使用比较少,因为右外连接通常使用左外连接代替)
select s.username, ifnull(c.ClassName,'暂未如班级')
from class c left outer join students s on s.classid = c.id
select * from class
/*自连接*/
-- 查询学生以及学生的领导
select * from students
select s.username,mas.username as '领导' from students s join students mas on s.managerid = mas.id
/*
联合查询(把两张表的结果联合起来)
一般用到分表的时候,查询结果联合起来
*/
select * from students
select * from student_cq
-- 把学生表中年龄小于50岁的,和分表中薪水小于8000的结合起来
select * from students where age<50
union all
select * from student_cq where salary<8000
select * from students where age<50
union
select * from student_cq where salary<8000
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)
评价