首页 > 代码库 > mysql02

mysql02

技术分享
-- 查询课程名称 和年级的名称
-- 非等值连接查询
SELECT subjectname,gradeName FROM `subject`,grade
-- 等值连接查询
SELECT subjectname,gradeName 
FROM `subject`,grade
WHERE subject.gradeId=grade.`GradeID`

-- 外连接  左外连接   以左表为准,右表中没有数据 返回null
-- 查询课程名称,课时数还有年级名称
SELECT subjectname,gradeName,classHour
FROM `subject` s LEFT JOIN grade g
ON s.gradeId=g.`GradeID`

-- 外连接  右外连接   以右表为准,左表中没有数据 返回null
SELECT subjectname,gradeName,classHour
FROM `subject` s RIGHT JOIN grade g
ON s.gradeId=g.`GradeID`

--  自身连接查询
CREATE TABLE IF NOT EXISTS teacher(
id INT(10),  -- 老师自身的编号
`name`  VARCHAR(20), 
pid  INT(10)   --  老师对应的导师编号
) 

-- 新增教师信息
INSERT INTO teacher  
VALUES
(1,老师1,5),
(2,老师2,5),
(3,老师3,5),
(4,老师4,3),
(5,老师5,3)

-- 查询老师  和对应导师的姓名
SELECT t1.`name` AS 老师姓名, t2.`name` AS 导师姓名 
 FROM teacher t1,teacher t2
WHERE t2.id=t1.pid 
连接查询

 

技术分享
-- 查询 课程名称是  数据库结构-1 的所有考试成绩和学生的姓名  并且按照成绩降序进行查看
--  order by 排序  默认是升序 asc  desc 降序  
SELECT subjectName,StudentResult,studentName
FROM `subject`,result,student
WHERE
student.`StudentNo`=result.`StudentNo`
AND 
result.`SubjectNo`=subject.`SubjectNo`
AND
subjectName=数据库结构-1
ORDER BY StudentResult  DESC
Order by

 

mysql02