MYSQL查询
SELECT sc.*FROM sc
SELECT * FROM course
-- 分页 LIMIT 从0开始检索
SELECT * FROM course LIMIT 0,3
SELECT * FROM course limit 3,3
SELECT * FROM course LIMIT 6,1
-- 多
-- 单表查询 SELECT sc.*FROM sc SELECT * FROM course -- 分页 LIMIT 从0开始检索 SELECT * FROM course LIMIT 0,3 SELECT * FROM course limit 3,3 SELECT * FROM course LIMIT 6,1 -- 多表连接查询 -- 1.等值与非等值连接查询 SELECT * FROM student; SELECT * FROM course; SELECT * FROM sc; -- 笛卡儿积 SELECT * FROM student,sc; SELECT * FROM student,sc WHERE student.Sno=sc.Sno SELECT * FROM student,sc WHERE student.snosc.sno SELECT A.*,B.cno,B.Grade FROM student as A,SC as B WHERE A.sno=B.sno; SELECT A.*,B.cno,C.Cname,B.grade FROM student A,sc B,course C WHERE A.Sno=B.Sno AND B.cno=C.cno; SELECT A.sno,A.Sname,A.Ssex,C.cname,B.grade FROM student A,sc B,course C WHERE A.sno=B.sno and B.cno=C.cno; -- 自身连接 SELECT * FROM course; SELECT * FROM course A,course B; -- 选择直接先修课 SELECT A.cno,A.cname,A.cpno,B.cname FROM course A,course B WHERE A.Cpno=B.Cno AND A.cno=1; -- 选择间接先修课 SELECT A.cno,A.cname,B.cpno FROM course A,course B WHERE A.cpno=B.cno and A.cno=1; -- FIRST SECOND SELECT FIRST.cno, FIRST.cname, SECOND.cpno FROM course FIRST,course SECOND WHERE FIRST.cpno=second.cno AND FIRST.cno=1; -- 选择pascal语言 SELECT A.cno,A.cname,B.cpno,C.cname FROM course A,course B,course C WHERE A.cpno=B.Cno AND B.cpno=C.Cno; -- 外连接 -- 查询每个学生的选课情况 SELECT * FROM student; SELECT * FROM course; SELECT * FROM sc; -- LEFT JOIN: 以左表为基准,和右边的表连接,右边记录没用的以null代替 SELECT * FROM student A LEFT JOIN sc B on A.sno=B.sno; -- 查找选过课程的学生的选课情况 SELECT * FROM student A RIGHT JOIN sc B on A.sno=B.sno; SELECT * FROM sc A LEFT JOIN student B on A.sno=B.sno; -- 查找每个学生的选课情况,要显示课程名称,三个表 SELECT * FROM student A LEFT JOIN sc B on A.sno=B.sno; -- 三表连接 INNER JOIN(内连接mysql查询,或等值连接):获取两个表中字段匹配关系的记录 SELECT A.*,B.*,C.* FROM student A JOIN sc B INNER JOIN course C ON A.sno=B.Sno and B.cno=C.Cno; SELECT A.*,B.cno,C.cname,B.grade FROM student A INNER JOIN Sc B INNER JOIN course C ON A.sno=B.sno AND B.Cno=C.Cno; -- INNER JOIN/join(内连接,或等值连接):获取两个表中字段匹配关系的记录。 -- LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。 -- RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。 -- 复合条件连接 -- 嵌套查询 IN SELECT * FROM student; SELECT * FROM student WHERE Sage in (18,19); -- 男生的选课情况 SELECT * FROM sc WHERE sno IN(SELECT sno FROM student WHERE Ssex='男'); SELECT * FROM sc WHERE sno IN(SELECT sno FROM student WHERE Ssex in ('男')); (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |