当前位置:   article > 正文

MySQL数据库——单表查询、连接查询、子查询_头歌内复合条件连接查询

头歌内复合条件连接查询

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

目录

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

第一关:基本查询语句

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

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

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

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

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

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

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

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

第二关:分组查询 

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

MySQL数据库 — 链接查询

第一关:内连接查询

第二关:外连接查询 

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

MySQL数据库 — 子查询

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

第二关:关键字子查询 


 

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

第一关:基本查询语句

  1. USE Company;
  2. #请在此处添加实现代码
  3. ########## Begin ##########
  4. ########## retrieving the Name and Salary ##########
  5. select Name,Salary from tb_emp;
  6. ########## retrieving all the table ##########
  7. select * from tb_emp;
  8. ########## End ##########

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

  1. USE Company;
  2. #请在此处添加实现代码
  3. ########## Begin ##########
  4. ########## retrieving the Name and Salary with IN statement ##########
  5. SELECT Name,Salary FROM tb_emp WHERE Id NOT IN (1);
  6. ########## End ##########

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

  1. USE Company;
  2. #请在此处添加实现代码
  3. ########## Begin ##########
  4. ########## retrieving the Name and Salary with BETWEEN AND statement ##########
  5. SELECT Name,Salary FROM tb_emp
  6. WHERE Salary BETWEEN 3000 AND 5000;
  7. ########## End ##########

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

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

  1. USE Company;
  2. ######### Begin #########
  3. SELECT Name,Salary FROM tb_emp WHERE Name LIKE "C%";
  4. ######### End #########

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

  1. USE Company;
  2. ######### Begin #########
  3. SELECT * FROM tb_emp WHERE DeptId IS NULL;
  4. ######### End #########
  5. ######### Begin #########
  6. SELECT DISTINCT Name FROM tb_emp;
  7. ######### End #########

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

  1. USE Company;
  2. ######### Begin #########
  3. SELECT * FROM tb_emp WHERE DeptId=301 AND Salary > 3000;
  4. ######### End #########
  5. ######### Begin #########
  6. SELECT * FROM tb_emp WHERE DeptId=301 OR DeptId=303;
  7. ######### End #########

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

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

  1. USE School;
  2. #请在此处添加实现代码
  3. ########## Begin ##########
  4. ########## 查询1班同学的所有信息以成绩降序的方式显示结果 ##########
  5. select * from tb_score where class_id = 1 order by score desc;
  6. ########## End ##########

第二关:分组查询 

  1. USE School;
  2. #请在此处添加实现代码
  3. ########## Begin ##########
  4. ########## 对班级名称进行分组查询 ##########
  5. SELECT * FROM tb_class GROUP BY class_id;
  6. ########## End ##########

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

  1. USE School;
  2. #请在此处添加实现代码
  3. ########## Begin ##########
  4. ########## 查询班级中第2名到第5名的学生信息 ##########
  5. SELECT * FROM tb_score order by score desc LIMIT 1,4;
  6. ########## End ##########

MySQL数据库 — 链接查询

第一关:内连接查询

  1. USE School;
  2. ########## 查询数据表中学生姓名和对应的班级 ##########
  3. #请在此处添加实现代码
  4. ########## Begin ##########
  5. 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;
  6. ########## End ##########

第二关:外连接查询 

  1. USE School;
  2. ########## 使用左外连接查询所有学生姓名和对应的班级 ##########
  3. #请在此处添加实现代码
  4. ########## Begin ##########
  5. select tb_student.name as studentName,tb_class.name as className
  6. from tb_class right join tb_student on
  7. tb_class.id=tb_student.class_id;
  8. ########## End ##########
  9. ########## 使用右外连接查询所有学生姓名和对应的班级 ##########
  10. select tb_student.name as studentName,tb_class.name as className
  11. from tb_class left join tb_student
  12. on tb_class.id=tb_student.class_id;
  13. #请在此处添加实现代码
  14. ########## Begin ##########
  15. ########## End ##########

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

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

MySQL数据库 — 子查询

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

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

第二关:关键字子查询 

  1. USE Company;
  2. #请在此处添加实现代码
  3. ########## Begin ##########
  4. #1.使用 ALL 关键字进行查询
  5. SELECT position,salary FROM tb_salary WHERE salary >
  6. ANY(SELECT max(salary) FROM tb_salary where position="java");
  7. #2.使用 ANY 关键字进行查询
  8. SELECT position,salary FROM tb_salary WHERE salary >
  9. ANY(SELECT min(salary) from tb_salary where position="java");
  10. #3.使用 IN 关键字进行查询
  11. select position,salary from tb_salary where position in("java");
  12. ########## End ##########

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/783018
推荐阅读
相关标签
  

闽ICP备14008679号