加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MYSQL查询

发布时间:2022-10-21 14:02:01 所属栏目: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 ('男'));

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!