mysql 三表查询

mysql 三表查询,第1张

这样写:

SELECT

S.SName AS 姓名, CS.CourseName AS 课程, C.Score AS 成绩

FROM Students AS S

INNER JOIN Score AS C ON (S.SCode = C.StudentID)

INNER JOIN Course AS CS ON (CS.CourseID = C.CourseID

扩展资料:

SQL联合查询的分类

一、内连接查询:只查询左边表有且右边表也有的数据,本质上是依据外键关系,在笛卡尔积查询的基础上过滤出正确的数据。

语句有2种形式:

Select * from dept ,emp where dept.id=emp.dept_id

Select * from dept inner join emp on dept.id =emp.dept_id

二、外连接查询:外连接是用于查询俩边一边有一边没有的数据。

三、左外连接查询:在内连接的基础上增加上左边表有而右边表没有的数据

语句:Select * from dept join emp on dept.id=emp.dept_id

四、右外连接:在内连接的基础上增加上右边表没有的记录

语句:Select * from dept right join emp on dept.id =emp.dept_id

---table1指的是第一张表,table2指的是第二张表,table3指的是第三张表,

select  a.uid,a.uname,a.upsw,a.urealname,a.utel,a.remark,b.rname,b.rremark,c.deptname,c.deptremark from table1 a,table2 b, table3 c where a.sems_role_rid=b.rid and a.udeptid=c.deptid

有两种方式: 关键字where 或嵌入在inner 或left 中:

下面定义3个表A,B,C,字段分别为A:a,b;B:b,c;C:c,d

正常where 使用语句如下:

select A.a,B.b,C.c from A

inner join B on A.b=B.b

inner join C on C.c=B.c

where A.a=10 or B.b=10 or C.c=10

下面的SQL 嵌入到inner 中的使用方式:

select A.a,B.b,C.c from A

inner join B on A.b=B.b and B.b=10

inner join C on C.c=B.c and C.c=10


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6161669.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存