Mysql的查询、左连接查询手札

/ 浏览 3404 次

以前学习过的知识,许久不用都差不多忘记得七七八八了,今天想起来就突然记记。

很多事,不想不做就会忘记,人最怕的就是自己的价值被埋没了,2018将至,是结束也是开始。

shwo create table student;

CREATE TABLE `student` (
  `student_id` int(11) NOT NULL AUTO_INCREMENT,
  `student_name` varchar(255) DEFAULT NULL,
  `student_class` int(11) DEFAULT NULL,
  PRIMARY KEY (`student_id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8

add student data;

INSERT INTO `student` VALUES ('1', '张三', '801');
INSERT INTO `student` VALUES ('2', '李四', '802');
INSERT INTO `student` VALUES ('3', '王五', '803');
INSERT INTO `student` VALUES ('4', '赵六', '804');

show create table score;

CREATE TABLE `score` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `score` int(11) DEFAULT NULL,
  `student_id` int(11) DEFAULT NULL,
  `object` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8

add score data;

INSERT INTO `score` VALUES ('1', '80', '1', '语文');
INSERT INTO `score` VALUES ('2', '90', '2', '语文');
INSERT INTO `score` VALUES ('3', '88', '3', '语文');
INSERT INTO `score` VALUES ('4', '99', '4', '数学');

show create table classname;

CREATE TABLE `classname` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `student_class` int(11) DEFAULT NULL,
  `class_name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8

add classname data;

INSERT INTO `classname` VALUES ('1', '801', '八年级一班');
INSERT INTO `classname` VALUES ('2', '802', '八年级二班');
INSERT INTO `classname` VALUES ('3', '803', '八年级三班');
INSERT INTO `classname` VALUES ('4', '804', '八年级四班');

sql query

select st.student_name as 学生名称 ,sc.object as 科目,sc.score as 分数 ,cname.class_name as 班级
from student st  //为了方便写sql查询语句,我们给student写一个别名叫st
left join score sc  //左连接表 score  这里我们也写一个别名叫 sc
on st.student_id=sc.student_id //重点,查询出左连接的查询依据就是 student 表里面的 student_id = 成绩表里面的 student_id
left join classname cname //此时我们把放班级名称的表的名字也用左连接查询查出来
on st.student_class=cname.student_class

效果图

左外连接是以左边的表(student st left)student为主表,score为从表。在查询结果中全部展示主表的信息。

如果你想转载,请注明来源或者出处 / 随便看看

  1. devoted
    devoted 2017-12-29 21:33:07 / 删除评论 #回复 #32603

    大熊,让我试用下kurblog啊啊啊啊啊啊啊啊啊,关关太忙了。。。没理会我。

    • 大雄
      大雄 2017-12-29 22:24:18 / 删除评论 #回复 #32604

      @devoted:你会做模板吗?

      • devoted
        devoted 2017-12-29 22:24:45 / 删除评论 #回复 #32605

        @大雄:会改模板啊。

        • 大雄
          大雄 2017-12-30 09:12:52 / 删除评论 #回复 #32606

          @devoted:smarty模板引擎你知道吗。

          • Flyer
            Flyer 2018-01-06 11:47:50 / 删除评论 #回复 #32634

            @大雄:这种的貌似响应速度一流呀

            • 大雄
              大雄 2018-01-06 11:48:28 / 删除评论 #回复 #32635

              @Flyer:震精吗。

  2. AoaBo's
    AoaBo's 2017-12-30 13:06:55 / 删除评论 #回复 #32607

    博客速度好快啊

    • 大雄
      大雄 2017-12-30 13:10:16 / 删除评论 #回复 #32608

      @AoaBo's:是不是很吃精。

      • AoaBo's
        AoaBo's 2017-12-30 13:36:34 / 删除评论 #回复 #32609

        @大雄:你打错字了吧

        • 大雄
          大雄 2017-12-30 13:37:05 / 删除评论 #回复 #32610

          @AoaBo's:不告诉你,啊哈哈

          • AoaBo's
            AoaBo's 2017-12-30 13:38:21 / 删除评论 #回复 #32611

            @大雄:告诉我(。ò ∀ ó。)

            • 大雄
              大雄 2017-12-30 16:43:33 / 删除评论 #回复 #32618

              @AoaBo's:弯腰捡肥皂。

  3. 小俊
    小俊 2017-12-30 21:39:17 / 删除评论 #回复 #32621

    数据库基础一定要有的...

  4. Flyer
    Flyer 2018-01-06 11:44:49 / 删除评论 #回复 #32633

    不用就忘,一用就想起

「人生在世,留句话给我吧」

发表评论

人生在世,错别字在所难免,无需纠正,##修改表单信息##