--1内连接(两个表中相匹配的那些记录)
--2外联接
--2.1左外联接(把左表中 left join关键字左边的表)中的全部记录都显示出来,对于右表中能找到匹配的记录,显示对应匹配数据,对右表中找不到的匹配记录显示为null。
--2.2右外联接 left [outter] join,right [outter] join.
--左外联接和右外联接都是分两步查询出结果的,第一:找到匹配数据,第二:填充不匹配的数据为null。(注意,是有先后顺序的。)
----Cross Join交叉联接------
select
*
from Student,Score
----自联接------------------
select
*
from Student
inner join
(select sName,sAge,sId FROM Student
where sAge>10
)as TS1
ON Student.sId=TS1.sId
-- -7----report 2------
SELECT
*
FROM
(select
sId,
sName,
sAge,
Score.*
from Student
left outer join Score
ON Score.studentId=Student.sId
) as Tbl
WHERE ScoreId is null
---右外--
select
sId,
sName,
sAge,
Score.*
from Student
right outer join Score
ON Score.studentId=Student.sId
--- ---------------
select
sId,
sName,
sAge,
Score.*
from Score
right outer join Student
ON Score.studentId=Student.sId
select
sId,
sName,
Score.*
FROM Student
LEFT OUTER JOIN Score
on Score.studentId=Student.sId
--重做:查询出所有没有参加考试的同学的学生编号,姓名,考试成绩。
select
sId,
sName,
Score.*
FROM Student
LEFT OUTER JOIN Score
on Score.studentId=Student.sId
where Score.scoreId is null
--2.2右外联接
select
Score.*,
sId,
sName
from Student
right outer join Score on
Score.scoreId=Student.sId
------------
select
Score.*,
sId,
sName
from Score
right outer join Student on
Score.scoreId=Student.sId
----Cross Join 交叉联结-------
select * from
Student,Score
-------自联结------------------
select *
from Student
inner join(select sId,sName,sAge from Student where sAge>=10)as Tbl1
on Student.sId=Tbl1.sId
--2外联接
--2.1左外联接(把左表中 left join关键字左边的表)中的全部记录都显示出来,对于右表中能找到匹配的记录,显示对应匹配数据,对右表中找不到的匹配记录显示为null。
--2.2右外联接 left [outter] join,right [outter] join.
--左外联接和右外联接都是分两步查询出结果的,第一:找到匹配数据,第二:填充不匹配的数据为null。(注意,是有先后顺序的。)
----Cross Join交叉联接------
select
*
from Student,Score
----自联接------------------
select
*
from Student
inner join
(select sName,sAge,sId FROM Student
where sAge>10
)as TS1
ON Student.sId=TS1.sId
-- -7----report 2------
SELECT
*
FROM
(select
sId,
sName,
sAge,
Score.*
from Student
left outer join Score
ON Score.studentId=Student.sId
) as Tbl
WHERE ScoreId is null
---右外--
select
sId,
sName,
sAge,
Score.*
from Student
right outer join Score
ON Score.studentId=Student.sId
--- ---------------
select
sId,
sName,
sAge,
Score.*
from Score
right outer join Student
ON Score.studentId=Student.sId
select
sId,
sName,
Score.*
FROM Student
LEFT OUTER JOIN Score
on Score.studentId=Student.sId
--重做:查询出所有没有参加考试的同学的学生编号,姓名,考试成绩。
select
sId,
sName,
Score.*
FROM Student
LEFT OUTER JOIN Score
on Score.studentId=Student.sId
where Score.scoreId is null
--2.2右外联接
select
Score.*,
sId,
sName
from Student
right outer join Score on
Score.scoreId=Student.sId
------------
select
Score.*,
sId,
sName
from Score
right outer join Student on
Score.scoreId=Student.sId
----Cross Join 交叉联结-------
select * from
Student,Score
-------自联结------------------
select *
from Student
inner join(select sId,sName,sAge from Student where sAge>=10)as Tbl1
on Student.sId=Tbl1.sId