무료 학습 권장 사항: mysql 비디오 튜토리얼
select * from 表1 inner join 表2 on 表1.列 = 表2.列-- 显示学生的所有信息,但只显示班级名称select s.*, c.name from students s inner join classes c on s.id=c.id;-- 将班级名称显示在第一列select c.name, s.* from students s inner join classes c on s.id=c.id;-- 查询 有能够对应班级的学生以及班级信息,按照班级进行排序select c.name, s.* from students s inner join classes c on s.cls_id = c.id order by c.name asc;-- 当同一个班级时,按照学生的id进行从小到大排序select c.name, s.* from students s inner join classes c on s.cls_id = c.id order by c.name asc, s.id asc;
여기에 그림 설명 삽입
쿼리 결과는 두 테이블이 일치하는 데이터입니다. 왼쪽 테이블에 있는 데이터가 채워집니다. with null for the right table
select * from 表1 left join 表2 on 表1.列=表2.列-- students表左连接classes表 并查看班级为null的数据select * from students s left join classes c on s.cls_id=c.id having s.cls_id is null;-- 左连接 并且 查询 s.cls_id=1 并且 s.name="small-j" 的数据select * from students s left join classes c on s.cls_id=c.id having s.cls_id=1 and s.name="small-j";
쿼리 결과는 두 테이블이 일치하는 데이터입니다. 오른쪽 테이블에 있는 데이터는 null로 채워집니다. 왼쪽 테이블에 존재하지 않는 데이터입니다.
select * from 表1 right join 表2 on 表1.列 = 表2.列;
어떤 경우에는 쿼리를 할 때 필수 조건이 다른 select 문의 결과입니다. 이 경우에는 하위 쿼리가 사용됩니다
select * from 表 where 表(子查询语句)-- 查询出students中身高最高的男生。显示名字和身高select s.name, s.high from students s where high=(select max(high) from students) and gender="男";-- 查询出高于平均身高的学生信息select * from students where high>(select avg(high) from students);-- 查询学生班级号cls_id能够对应的学生信息select * from students where cls_id in (select id from students);-- 查询最大年龄的女生的idselect * from students where id=(select max(id) from students where gender="女") and gender="女";
여기에 그림 설명을 삽입하세요
는 단순히 자신과 자신 사이의 연결 쿼리로 이해됩니다.
-- 查询广东省下的所有广东市select * from cities c inner join provinces p on c.provinceid=p.provinceid having p.province="广东省";-- 查询广东省下的所有广东市-- 自关联select * from areas a inner join areas b on a.id=b.pid having a.name="广东";
[constraint 外键名] foreign key (字段名 [,字段名2, ...]) references 主键列1 [, 主键列2, ...]
-- 创建班级表create table classes( id int(4) not null primary key, name varchar(36));-- 创建学生表create table student( sid int(4) not null primary key, sname varchar(30), cid int(4) not null);-- 创建直接含有外键关系的学生表create table student( sid int(4) not null primary key, sname varchar(30), cid int(4) not null, constraint pk_id foreign key (cid) references classes(id));-- 通过alter来添加外键关系alter table student add constraint pk_id foreign key (cid) references classes(id);-- 删除外键约束alter table student drop foreign key pk_id;
관련 무료 학습 권장 사항: mysql 데이터베이스(동영상)
위 내용은 MySQL5.7 데이터베이스에는 테이블 연결, 하위 쿼리 및 외래 키가 도입되었습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!