lifuqiang

这里以班级和学生为例来进行演示。

很显然,一个班级可以有很多个学生,但是一个学生只能属于一个班级。所以,学生表应该是主表,班级表为子表。

创建学生表

CREATE TABLE `student` (
 `ID` int(22) NOT NULL,
 `StuName` varchar(22) DEFAULT NULL,
 `StuAge` int(22) DEFAULT NULL,
 `Cid` int(22) DEFAULT NULL,
  PRIMARY KEY (`ID`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

插入几条学生数据

mysql> INSERT INTO `student` VALUES (\'1\', \'张三\', \'66\', \'3\');

mysql> INSERT INTO `student` VALUES (\'2\', \'李四\', \'77\', \'3\');

mysql> INSERT INTO `student` VALUES (\'4\', \'王五\', \'25\', \'4\');

  

 

创建班级表

CREATE TABLE `class` (
 `ID` int(22) NOT NULL,
 `ClassName` varchar(22) DEFAULT NULL,
  PRIMARY KEY (`ID`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

插入几条班级数据 

mysql> INSERT INTO `class` VALUES (\'1\', \'python\');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO `class` VALUES (\'2\', \'linux\');
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO `class` VALUES (\'3\', \'java\');
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO `class` VALUES (\'4\', \'php\');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO `class` VALUES (\'5\', \'devops\');
Query OK, 1 row affected (0.00 sec)

 

需求,查询学生所对应的班级

sql如下

mysql> select s.StuName,s.StuAge,c.className from student s INNER JOIN  class c ON  s.Cid=c.ID;
+---------+--------+-----------+
| StuName | StuAge | className |
+---------+--------+-----------+
| 张三    |     66 | java      |
| 李四    |     77 | java      |
| 王五    |     25 | php       |
+---------+--------+-----------+
3 rows in set (0.00 sec)

  

 

分类:

技术点:

相关文章:

  • 2021-08-05
  • 2021-12-14
  • 2021-11-30
  • 2021-11-30
  • 2021-08-14
  • 2018-11-10
  • 2021-09-05
猜你喜欢
  • 2021-11-07
  • 2021-11-30
  • 2021-11-01
  • 2021-09-05
  • 2020-01-26
  • 2021-12-08
  • 2021-11-28
相关资源
相似解决方案