全部开发者教程

每天一条数据库命令

【day02】创建数据库
创建数据库
【day03】创建表
创建表
【day04】删除表 & 删除数据库
删除表 & 删除数据库
【day05】修改表结构
修改列
【day06】修改表结构
添加列 & 删除列
【day07】添加主键约束
添加主键约束
【day08】删除主键约束
删除主键约束
【day09】唯一性约束
唯一性约束
【day10】创建表时添加主键约束和唯一性约束
创建表时添加主键约束和唯一性约束
【day11】修改表名称
修改表名称
【day12】插入数据
插入数据
【day13】基本查询
基本查询
【day14】where 基本条件查询
where 基本条件查询
【day15】between...and 范围查询
between...and 范围查询
【day16】in 关键字查询
in 关键字查询
【day17】like 字符匹配查询
like 字符匹配查询
【day18】null 值查询
null 值查询
【day19】分组查询
分组查询
【day20】去重查询
去重查询
【day21】查询结果排序
查询结果排序
【day22】limit 限制查询
limit 限制查询
【day23】更新记录
更新记录
【day24】删除记录
删除记录
【day25】聚合函数
聚合函数
【day26】group by having 查询
group by having 查询
【day27】UNION 联合查询
UNION 联合查询
【day28】LEFT JOIN 左连接查询
LEFT JOIN 左连接查询
【day29】RIGHT JOIN 右连接查询
RIGHT JOIN 右连接查询
【day30】INNER JOIN 内连接查询
INNER JOIN 内连接查询

创建 teacher 表,并插入以下数据

create table `teacher` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(20) not null, 
`phone_number` varchar(20) not null, 
`email` varchar(64),
PRIMARY KEY (`id`)
);
insert into teacher (id, username, phone_number, email) values
(null, 'Imooc', '13552480001', 'imooc@imooc.com'),
(null, 'Lily', '13552480002', 'lily@imooc.com'),
(null, 'Tom', '13552480003', 'tom@imooc.com'),
(null, 'Mary', '13552480004', 'mary@imooc.com'),
(null, 'Yanyan', '13552480005', 'yanyan@imooc.com'),
(null, 'Andy', '13552480006', 'andy@imooc.com'),
(null, 'John', '13552480007', 'john@imooc.com');

teacher 表数据:
图片描述
清空 course 表,然后修改表结构,并插入以下数据

delete from course;
alter table course change teacher teacher_id int(11);
INSERT INTO course (id, course_name,teacher_id, create_time) VALUES
(null, 'Python编程', 1, now()),
(null, 'MySQL数据库',2, now()),
(null, '爬虫开发', 3, now()),
(null, '数据分析', 4, now()),
(null, '人工智能', 5, now());
(null, 'Java开发', 99, now());

course 表数据:
图片描述

LEFT JOIN 左连接查询

以左表为基准,若右表没有对应的值,用 NULL 来填补

select c.id as course_id, c.course_name, c.teacher_id, t.username as teacher_name from course c left join teacher t on c.teacher_id = t.id;
  • cid AS course_id 将 course 表中的 id 字段重命名为 course_id
  • t.username as teacher_name 将 teacher 表中的 username 字段重命名为 teacher_name
  • on 后面是连接表的条件
  • course c 将 course 表简写为 c
  • teacher t 将 teacher 表简写为 t
    图片描述