1. 从表Student中检索学生所在班级号,并消除重复行。 2. 查询课程名称中含有“技术”两个字的课程的全名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1. 从表Student中检索学生所在班级号,并消除重复行。 2. 查询课程名称中含有“技术”两个字的课程的全名相关的知识,希望对你有一定的参考价值。

3. 查询在“5-6”节上课的课程名称和教师。
4. 在stucou表中查询每个学生的选修课信息,只要显示学号在‘00000001’到‘00000010’之间的信息。
5. 查询‘计算机系’开设的、报名人数在40人以上的课程,显示课程编号、课程名称、系名称。
6. 按学生名分组显示“00多媒体”班的学生选课的信息,要求显示班级名、姓名、课程、学分、上课时间,并统计每个学生的总选课学分数。
7. 把course表中报名人数超过平均报名人数的‘人文’类课程的课程号、课程名称、课程类别、报名人数生成一个新表newcourse。
8. 某学校的教务处要了解学生第1自愿和第2自愿的选课情况,内容包括学号、姓名、课程名称、教师和学分。要求查询结果按照学号的由小到大排序;教务处还想了解每个系开设的选修课程门数以及全校开设选修课程总门数。请帮助实现查询。
9. 学号为“30000001”的学生将课程编号为“002”的课程改为第2自愿。
10. 计算机系和旅游系将他们部门开设的选修课程的限制选课人数增加了10人。
11. 朱川同学取消了“Linux操作系统”的选修课,请把他的选课信息删掉。
12. 将“00多媒体”班的姓名为“杜晓静”的学生选修的“中级电工理论”课程修改为“科技与探索”。

参考技术A 全都是基本的 SELECT UPDATE ADD 操作。
你给的 表信息不完整 , 字段也不够。 没法写追问

用 SQL Server 2005 回答 应该怎样做? 谢谢

追答

1\select distinct 班级号 from student
2\select * from student where 课程 like ‘%技术%’

本回答被提问者采纳

容器分类

对容器中的对象按属性分类,用面向对象的思路看看如何实现。

案例:学生类Student中,包含属性(成绩,班级,姓名)。生成若干学生对象,求出各个班级的平均分。

这个问题若干直接使用循环判断,找到所有的班级种类再按班级找学生,再存储,过程非常复杂。

面向对象的思路:建立一个班级类,用于储存属于这个班级的学生;再用一个Map容器储存(班级名称,班级对象)。

代码:

  1 package com.hlyc.Stream;
  2 
  3 import java.util.ArrayList;
  4 import java.util.HashMap;
  5 import java.util.List;
  6 import java.util.Map;
  7 import java.util.Map.Entry;
  8 import java.util.Set;
  9 
 10 public class Demo1 {
 11     public static void main(String args[]){
 12         List list = new ArrayList();
 13         generate(list);
 14         Map<String, ClassRoom> map = new HashMap<String, ClassRoom>(); 
 15         count(list, map);
 16         Set<Entry<String, ClassRoom>> entrySet = map.entrySet();
 17         for(Entry<String, ClassRoom> entry : entrySet)
 18             System.out.println(entry.getKey() + "班" + "\t总分:" 
 19                     + entry.getValue().getTotal() + "\t平均分:" 
 20                                 + entry.getValue().getTotal()/entry.getValue().getList().size());
 21     }
 22     public static void generate(List<Student> list){
 23         list.add(new Student("1", 120, "c"));
 24         list.add(new Student("2", 130, "x"));
 25         list.add(new Student("3", 140, "y"));
 26         list.add(new Student("3", 105, "z"));
 27         list.add(new Student("2", 107, "a"));
 28         list.add(new Student("1", 110, "b"));
 29     }
 30     public static void count(List<Student> list, Map<String, ClassRoom> map){
 31         for(Student student : list){
 32             String cid = student.getCid();
 33             double grade = student.getGrade();
 34             if(!map.containsKey(cid))
 35                 map.put(cid, new ClassRoom());
 36             map.get(cid).setTotal(map.get(cid).getTotal() + grade);
 37             map.get(cid).getList().add(student);
 38         }
 39     }
 40 }
 41 class Student{
 42     private String cid;
 43     private double grade;
 44     private String name;
 45     public String getCid() {
 46         return cid;
 47     }
 48     public void setCid(String cid) {
 49         this.cid = cid;
 50     }
 51     public double getGrade() {
 52         return grade;
 53     }
 54     public void setGrade(double grade) {
 55         this.grade = grade;
 56     }
 57     public String getName() {
 58         return name;
 59     }
 60     public void setName(String name) {
 61         try {
 62             this.name = name;
 63         } finally {
 64             // TODO: handle finally clause
 65         }
 66     }
 67     public Student(String cid, double grade, String name) {
 68         this.cid = cid;
 69         this.grade = grade;
 70         this.name = name;
 71     }
 72     public Student(){
 73         
 74     }
 75     @Override
 76     public String toString() {
 77         return "Student [cid=" + cid + ", grade=" + grade + ", name=" + name + "]";
 78     }
 79 }
 80 class ClassRoom{
 81     private String cid;
 82     private double total;
 83     List<Student> list;
 84     public String getCid() {
 85         return cid;
 86     }
 87     public void setCid(String cid) {
 88         this.cid = cid;
 89     }
 90     public double getTotal() {
 91         return total;
 92     }
 93     public void setTotal(double total) {
 94         this.total = total;
 95     }
 96     public List<Student> getList() {
 97         return list;
 98     }
 99     public void setList(List<Student> list) {
100         this.list = list;
101     }
102     public ClassRoom(String cid, double total, List<Student> list) {
103         this.cid = cid;
104         this.total = total;
105         this.list = list;
106     }
107     public ClassRoom(){
108         this.list = new ArrayList();
109     }
110     @Override
111     public String toString() {
112         return "ClassRoom [cid=" + cid + ", total=" + total + ", list=" + list + "]";
113     }
114 }

这样就很简单了。不相信的同学可以试试使用循环遍历加判断的方法做。

以上是关于1. 从表Student中检索学生所在班级号,并消除重复行。 2. 查询课程名称中含有“技术”两个字的课程的全名的主要内容,如果未能解决你的问题,请参考以下文章

建立一个存储过程student_info,要求根据班级查询学生的学号、姓名、课程号和分数(表结构如表2,表3)

mysql数据库查询练习

mysql数据库查询练习

通过SQL根据匹配模式从表中检索名称?

面试真题给定3个班级,班级id号分别为c1,c2,c3,随机生成一个List<Student> students,每个班级的score和classId均随机,输出每个班级里学生的平均成绩

面试真题给定3个班级,班级id号分别为c1,c2,c3,随机生成一个List<Student> students,每个班级的score和classId均随机,输出每个班级里学生的平均成绩