Ps:
sed 分组 () \1
[root@2f3f5bf6b134 ~]# echo "172.16.153.56" |sed -r 's/([0-9]+).([0-9]+).([0-9]+).56/\1.\3.\2.65/g'
172.153.16.65
多表查询
查询汤师爷所在班的所有学生并且叫他们班级的老师
mysql> select student.name,class.name,teacher.name from student,teacher,class,classteacher where student.class_id=(select student.class_id from student where student.name="汤师爷") and student.class_id=classteacher.class_id and classteacher.teacher_id=teacher.id and classteacher.class_id=class.id;
+-----------+---------------+--------+
| name | name | name |
+-----------+---------------+--------+
| 六子 | 云计算1901 | 奇哥 |
| 六子 | 云计算1901 | 强哥 |
| 六子 | 云计算1901 | 磊哥 |
| 汤师爷 | 云计算1901 | 奇哥 |
| 汤师爷 | 云计算1901 | 强哥 |
| 汤师爷 | 云计算1901 | 磊哥 |
| 麻匪 | 云计算1901 | 奇哥 |
| 麻匪 | 云计算1901 | 强哥 |
| 麻匪 | 云计算1901 | 磊哥 |
| 黛玉 | 云计算1901 | 奇哥 |
| 黛玉 | 云计算1901 | 强哥 |
| 黛玉 | 云计算1901 | 磊哥 |
+-----------+---------------+--------+
查询黛玉所在班级的老师
mysql> select class.name as "班级",student.name as "学生",teacher.name as "教师" from student,class,teacher,classteacher where student.name="黛玉" and student.class_id=classteacher.class_id and classteacher.teacher_id=teacher.id and classteacher.class_id=class.id;
+---------------+--------+--------+
| 班级 | 学生 | 教师 |
+---------------+--------+--------+
| 云计算1901 | 黛玉 | 奇哥 |
| 云计算1901 | 黛玉 | 强哥 |
| 云计算1901 | 黛玉 | 磊哥 |
| 云计算1902 | 黛玉 | 奇哥 |
| 云计算1902 | 黛玉 | 磊哥 |
+---------------+--------+--------+
5 rows in set (0.01 sec)
连接的关键为外键,
foreign key(class_key) references class(key);
将class表的id字段与该表的class_key相关联。
网友评论