MySQL数据库——单表查询、连接查询、子查询

头歌MySQL数据库代码、答案,单表查询、连接查询、子查询

目录

MySQL数据库 — 单表查询(一)

第一关:基本查询语句

第二关:带 IN 关键字的查询 

第三关:带 BETWEEN AND 的范围查询

MySQL数据库 — 单表查询(二)

第一关:带 LIKE 的字符匹配查询

第二关:查询空值与去除重复结果 

第三关:带 AND 与 OR 的多条件查询 

MySQL数据库 — 单表查询(三)

第一关:对查询结果进行排序

第二关:分组查询 

第三关:使用 LIMIT 限制查询结果的数量 

MySQL数据库 — 链接查询

第一关:内连接查询

第二关:外连接查询 

第三关:复合条件连接查询 

MySQL数据库 — 子查询

第一关:带比较运算符的子查询

第二关:关键字子查询 


 

MySQL数据库 — 单表查询(一)

第一关:基本查询语句

USE Company;

#请在此处添加实现代码
########## Begin ##########

########## retrieving the Name and Salary ##########
select Name,Salary from tb_emp;

########## retrieving all the table ##########
select * from tb_emp;

########## End ##########

第二关:带 IN 关键字的查询 

USE Company;

#请在此处添加实现代码
########## Begin ##########

########## retrieving the Name and Salary with IN statement ##########
SELECT Name,Salary FROM tb_emp WHERE Id NOT IN (1);


########## End ##########

第三关:带 BETWEEN AND 的范围查询

USE Company;

#请在此处添加实现代码
########## Begin ##########

########## retrieving the Name and Salary with BETWEEN AND statement ##########
SELECT Name,Salary FROM tb_emp 
WHERE Salary BETWEEN 3000 AND 5000;


########## End ##########


MySQL数据库 — 单表查询(二)

第一关:带 LIKE 的字符匹配查询

USE Company;

######### Begin #########
SELECT Name,Salary FROM tb_emp WHERE Name LIKE "C%";

######### End #########


第二关:查询空值与去除重复结果 

USE Company;

######### Begin #########
SELECT * FROM tb_emp WHERE DeptId IS NULL;

######### End #########

######### Begin #########
SELECT DISTINCT Name FROM tb_emp;

######### End #########


第三关:带 AND 与 OR 的多条件查询 

USE Company;

######### Begin #########
SELECT * FROM tb_emp WHERE DeptId=301 AND Salary > 3000;

######### End #########

######### Begin #########
SELECT * FROM tb_emp WHERE DeptId=301 OR DeptId=303;

######### End #########

MySQL数据库 — 单表查询(三)

第一关:对查询结果进行排序

USE School;

#请在此处添加实现代码
########## Begin ##########

########## 查询1班同学的所有信息以成绩降序的方式显示结果 ##########
select * from tb_score where class_id = 1 order by score desc;

########## End ##########


第二关:分组查询 

USE School;

#请在此处添加实现代码
########## Begin ##########

########## 对班级名称进行分组查询 ##########
SELECT * FROM tb_class GROUP BY class_id;

########## End ##########

第三关:使用 LIMIT 限制查询结果的数量 

USE School;

#请在此处添加实现代码
########## Begin ##########

########## 查询班级中第2名到第5名的学生信息 ##########
SELECT * FROM tb_score order by score desc LIMIT 1,4;

########## End ##########

MySQL数据库 — 链接查询

第一关:内连接查询

USE School;

########## 查询数据表中学生姓名和对应的班级 ##########
#请在此处添加实现代码
########## Begin ##########
select tb_student.name as studentName,tb_class.name as className from tb_student join tb_class on tb_class.id = tb_student.class_id; 



########## End ##########


第二关:外连接查询 

USE School;

########## 使用左外连接查询所有学生姓名和对应的班级 ##########

#请在此处添加实现代码
########## Begin ##########
select tb_student.name as studentName,tb_class.name as className
from tb_class right join tb_student on 
tb_class.id=tb_student.class_id;



########## End ##########

########## 使用右外连接查询所有学生姓名和对应的班级 ##########
select tb_student.name as studentName,tb_class.name as className
from tb_class left join tb_student 
on tb_class.id=tb_student.class_id;
#请在此处添加实现代码
########## Begin ##########




########## End ##########

第三关:复合条件连接查询 

USE School;

########## 查询所有班级里分数在90分以上的学生的姓名和学生的成绩以及学生所在的班级 ##########
#请在此处添加实现代码
########## Begin ##########
select s1.name as studentName,score,
s2.name as className from tb_student as s1,
tb_class as s2 where s1.class_id=s2.id and
s1.score>90 order by score desc;
########## End ##########

MySQL数据库 — 子查询

第一关:带比较运算符的子查询

USE Company;

#请在此处添加实现代码
########## Begin ##########
#1.查询大于所有平均年龄的员工姓名与年龄
select name,age from tb_emp where age>(select avg(age) from tb_emp);


########## End ##########

第二关:关键字子查询 

USE Company;
#请在此处添加实现代码
########## Begin ##########

#1.使用 ALL 关键字进行查询
SELECT position,salary FROM tb_salary WHERE salary > 
ANY(SELECT max(salary) FROM tb_salary where position="java");
#2.使用 ANY 关键字进行查询
SELECT position,salary FROM tb_salary WHERE salary > 
ANY(SELECT min(salary) from tb_salary where position="java");
#3.使用 IN 关键字进行查询
select position,salary from tb_salary where position in("java");
########## End ##########

相关推荐

  1. MySQL查询

    2024-03-25 19:12:02       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-25 19:12:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-25 19:12:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-25 19:12:02       82 阅读
  4. Python语言-面向对象

    2024-03-25 19:12:02       91 阅读

热门阅读

  1. 接口自动化测试入门基础知识

    2024-03-25 19:12:02       42 阅读
  2. python把图片重命名

    2024-03-25 19:12:02       49 阅读
  3. 委托(非常详细)

    2024-03-25 19:12:02       33 阅读
  4. [leetcode] 994. 腐烂的橘子

    2024-03-25 19:12:02       40 阅读
  5. 爬取MalwareBazaar实现恶意样本数据自由

    2024-03-25 19:12:02       48 阅读
  6. C++多态

    C++多态

    2024-03-25 19:12:02      41 阅读
  7. Python从入门到精通秘籍十九

    2024-03-25 19:12:02       50 阅读
  8. 【软考】蠕虫病毒

    2024-03-25 19:12:02       48 阅读
  9. 用Python做一个植物大战僵尸

    2024-03-25 19:12:02       50 阅读
  10. 工作中常用的git命令

    2024-03-25 19:12:02       34 阅读