如下字符串:
01#张三#20*02#李四#18*03#王五#22*04#赵六#20*05#田七#21
分割出每个人的信息,样式如下:
01 张三 20
02 李四 18
…..
创建Student类,属性:学号 姓名 年龄
(1)将这些Student对象放进数组中
(2)查询里面有没有叫田七的学生如果存在则打印学生的具体信息(封装成方法,键盘输入姓名)
(3)计算所有学生的平均年龄,最大年龄,最小年龄
(4)如果存在名字叫张三的将名字改为张兵
第1题:
假设某数据库表中有一个姓名字段,查找姓名为“张三”或“李四”的记录的准则是( )。
A.Not“张三,李四”
B.In(“张三,李四”)
C.Left([姓名]=“张三,李四”
D.Len([姓名])=“张三”,“李四”
第2题:
有学生信息表student,求年龄在20岁到22岁之间(含20岁和22岁)的学生姓名和年龄的 SQL语句是:
SELECT sname, age FROM student
WHERE age ______;
第3题:
在考生文件夹下“student.mdb”数据库中有student、课程和成绩三张表。
(1)以student表为数据源,创建查询“查询1”,查询>=20岁的男学生信息。结果显示学号、姓名、性别和年龄字段。查询结果如图所示。

(2)以student表为数据源,创建更新查询“查询2”,将每个学生的年龄增加一岁

第4题:
对于学生信息表STUDENT(SNO, SNAME,SEX,AGE,DEPT)(STUDENT由学号SNO、姓名SNAME、性别SEX、年龄AGE、所在系DEPT 5个属性组成,其中SNO为主码),求年龄20~23岁之间的学生姓名和年龄,正确的语句是( )。A.SELECT SNAME,AGE FROM STUDENT WHERE AGE>20 AND AGE<23B. SELECT*FROM STUDENT WHERE AGE BETWEEN 20 AND 23C.SELECT SNAME,AGE FROM STUDENT WHERE AGE BETWEEN 20 AND 23D.以上均不正确
第5题:
设有如下关系:学生(学号,姓名,性别,年龄,班号)。其关键字是学号,将学号为10的学生姓名改为“王华”的SQL语句是【】 。
第6题:
有两个表格Student 和 Change:
表Student 记录学生的入学信息:
Xh xm zt timech
20100001 张三 在学 2010.9.1
20100002 李四 在学 2010.9.1
20100003 王五 在学 2010.9.1
20100004 钱六 在学 2010.9.1
表Change 记录学生的学籍变化情况:
xuhao xh ztchange timech
1 20100001 辍学 2010.11.1
2 20100001 在学 2010.12.5
3 20100002 休学 2011.1.9
4 20100003 辍学 2011.3.9
5 20100002 在学 2011.6.6
现要求查询指定时间的在校生人数,例如2011.1.20,按上两表结果应为:
Xh xm zt timech
20100001 张三 在学 2010.12.5
20100002 李四 休学 2011.1.9
20100003 王五 在学 2010.9.1
20100004 钱六 在学 2010.9.1
张三在2011.1.1时已经复学了,所以状态为在学,但时间为最近一次变化的时间2010.12.5
李四已经休学,变化时间为2011.1.9
王五此时还没辍学,钱六一直没变,因此两人的记录都没变。
如何用SQL语句完成以上查询呢? 谢谢!
select
a.xh as xh,
a.xm as xm ,
case b.ztchange when ' ' then a.zt else b.ztchange end as zt ,
case b.timech when ' ' then a.timech else b.timech end as timech
from student a
left join change b on a.xh = b.xh and b.timech > '20110120' and b.ztchange = '在学'
希望能帮到你,别忘了采纳我的答案哦,祝你生活愉快!
第7题:
第七题: 已知SQL Server数据库的有一个数据库TestDB,学生表结构如下:
表名:Student
字段名 类型 说明
id int 自增1
name varchar(16)
sex char(1) 'F'表示女性,'M'表示男性
编写ASP 代码,将 Student中的人的姓名及性别列出来,并给统计学生人数如下:
姓名 性别
张三 男
李四 男
王五 女
... ...
总共有100个学生
第8题:
已知学生表如下:
学号姓名年龄性别班级20120001张三18男计算机一班20120002李四19男计算机一班20120003王五20男计算机一班20120004刘七19女计算机二班
执行下列命令后,得到的记录数是( )。SELECT班级,MAX(年龄)FROM学生表GROUP BY班级
A.4
B.3
C.2
D.1
第9题:
在 Visual FoxPro 中,设有一个学生表 STUDENT ,其中有学号、姓名、年龄、性别等字段,用户可以用命令 “ 【 12 】 年龄 WITH 年龄 +l ” 将表中所有学生的年龄增加一岁。
第10题:
第11题:
数据结构里,struct student { char name[20]; char sex[10]; int age; int score; }; 定义结构体后,定义变量、数组赋值正确的是()。
第12题:
将所有年龄大于18的学生年龄增加1岁
将所有年龄小于18的学生年龄增加1岁
将第一条年龄大于18的学生年龄增加1岁
将第一条年龄小于18的学生年龄增加1岁
第13题:
下列语句中,功能相同的命令是()。
A.SELECT学号,姓名FROM学生WHERE年龄BETWEEN20TO22;
B.SELECT学号,姓名FROM学生WHERE年龄>20AND年龄<=22;
C.SELECT学号,姓名FROM学生WHERE年龄>=20AND年龄<22;
D.SELECT学号,姓名FROM学生WHERE年龄>=20AND年龄<=22;
第14题:
向信息系学生视图IS_ STUDENT中插入一个新的学生记录,其中,学号01028,姓名为小红,年龄为18岁,正确的SQL语句是( )。
A.INSERT INTO IS_ STUDENT VALUES('01029','小红',18)
B.INSERT INTO IS_ STUDENT VALUES(01029,'小红',18)
C.SELECT INTO IS_ STUDENT VALUES(01029,小红,18)
D.SELECT INTO IS_ STUDENT VALUES('01029','小红',18)
第15题:
设有学生表STUDENT,其中有学号,姓名,年龄,性别等字段,该表是在2002年建立的,到2003年用户可以使用SOL的 _____ 语句,将表中的所有学生年龄增加一岁,到2004年,显示学生表中年龄大于22岁的学生信息的SQL语句是 ______ 。
第16题:
如果学生表student是使用下面的SQL谙句创建的: CREATE TABLE student(学号C(6)PRIMARY KEY NOT NULL,姓名C(8),性别C(2),年龄N(2) CHECK(年龄>15 AND年龄<30,)) 则下面的SQL语句中可以正确执行的是( )。
A. INSERT INTO student(学号,性别,年龄)VALUES(”0542”,”李雷”,”男”,17)
B. INSERT INTO student(学号,性别,年龄)VALUES(”李雷”,”男”,20)
C. INSERT INTO student(学号,性别,年龄)VALUES(”女”,25)
D. INSERT INTO student(学号,性别,年龄)VALUES(”0897”,”安宁”,”女”,30)
第17题:
从类似如下的文本文件中读取出所有的姓名,并打印出
重复的姓名和重复的次数,并按重复次数排序:
1,张三,28
2,李四,35
3,张三,28
4,王五,35
5,张三,28
6,李四,35
7,赵六,28
8,田七,35
程序代码如下(答题要博得用人单位的喜欢,包名用该公司,面试前就提前查好该公司
的网址,如果查不到,现场问也是可以的。还要加上实现思路的注释):
package com.huawei.interview;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeSet;
public class GetNameTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//InputStream ips =
GetNameTest.class.getResourceAsStream("/com/huawei/interview/info.txt
");
//用上一行注释的代码和下一行的代码都可以,因为info.txt与GetNameTest类在
同一包下面,所以,可以用下面的相对路径形式
Map results = new HashMap();
InputStream ips =
GetNameTest.class.getResourceAsStream("info.txt");
BufferedReader in = new BufferedReader(new
InputStreamReader(ips));
String line = null;
try {
while((line=in.readLine())!=null)
{
dealLine(line,results);
}
sortResults(results);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
static class User
{
public String name;
public Integer value;
public User(String name,Integer value)
{
this.name = name;
this.value = value;
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
//下面的代码没有执行,说明往treeset中增加数据时,不会使用到equals方
法。
boolean result = super.equals(obj);
System.out.println(result);
return result;
}
}
private static void sortResults(Map results) {
// TODO Auto-generated method stub
TreeSet sortedResults = new TreeSet(
new Comparator(){
public int compare(Object o1, Object o2) {
// TODO Auto-generated method stub
User user1 = (User)o1;
User user2 = (User)o2;
/*如果compareTo返回结果0,则认为两个对象相等,新的对象不
会增加到集合中去
* 所以,不能直接用下面的代码,否则,那些个数相同的其他姓
名就打印不出来。
* */
//return user1.value-user2.value;
//return
user1.value<user2.value?-1:user1.value==user2.value?0:1;
if(user1.value<user2.value)
{
return -1;
}else if(user1.value>user2.value)
{
return 1;
}else
{
return user1.name.compareTo(user2.name);
}
}
}
);
Iterator iterator = results.keySet().iterator();
while(iterator.hasNext())
{
String name = (String)iterator.next();
Integer value = (Integer)results.get(name);
if(value > 1)
{
sortedResults.add(new User(name,value));
}
}
printResults(sortedResults);
}
private static void printResults(TreeSet sortedResults)
{
Iterator iterator = sortedResults.iterator();
while(iterator.hasNext())
{
User user = (User)iterator.next();
System.out.println(user.name + ":" + user.value);
}
}
public static void dealLine(String line,Map map)
{
if(!"".equals(line.trim()))
{
String [] results = line.split(",");
if(results.length == 3)
{
String name = results[1];
Integer value = (Integer)map.get(name);
if(value == null) value = 0;
map.put(name,value + 1);
}
}
}
}
第18题:
已知学生表如下: 学号 姓名 年龄 性别 班级 20120001 张三 18 男 计算机一班 20120002 李四 19 男 计算机一班 20120003 王五 20 男 计算机一班 20120004 刘七 19 女 计算机二班 执行下列命令后,得到的记录数是( )。SELECT班级,MAX(年龄)FROM学生表GROUP BY班级
A.4
B.3
C.2
D.1
第19题:
查询所有目前年龄是22岁的学生信息:学号,姓名和年龄,正确的命令组是
A.CREATE VIEW AGE_LIST AS; SELECT学号,姓名,YEAR(DATE())-YEAR(出生日期)年龄FROM学生; SELECT学号,姓名,年龄FROM AGE_LIST WHERE年龄=22
B.CREATE VIEW AGE_LIST AS; SELECT学号,姓名,YEAR(出生日期)FROM学生: SELECT学号,姓名,年龄FROM AGE_LIST WHERE YEAR(出生日期)=22
C.CREATE VIEW AGE_LIST AS; SELECT学号,姓名,YEAR(DATE())-YEAR(出生日期)年龄FROM学生; SELECT学号,姓名,年龄FROM学生WHERE YEAR(出生日期)=22
D.CREATE VIEW AGE_LIST AS STUDENT; SELECT学号,姓名,YEAR(DATE()).YEAR(出生日期)年龄FROM学生; SELECT学号,姓名,年龄FROM STUDENT WHERE年龄=22
第20题:
有学生信息表student,求年龄在20~22岁之间(含20岁和22岁)的学生姓名和年龄的SQL语句是
SELECT sname,age FROM student
WHERE age【 】;
第21题:
如果学生表student是使用下面的SQL语句创建的
CREATE TABLE student(学号C(4)PRIMARY KEY NOT NULL,;
姓名C(8),;
性别C(2),;
年龄N(2)CHECK(年龄>1 5 AND年龄<30))
下面的SQL语句中可以正确执行的是( )。
A)INSERT INTO student(学号,性别,年龄)VALUES(”0542”,”男”,l7)
B)INSERT INTO student(姓名,性别,年龄VALUES(”李蕾”,”女”,20)
C)INSERT INTO student(姓名,性别,年龄)VALUES(”男”,25)
D)INSERT INTO student(学号,姓名)VALUES(”0897”,”安宁”,16)
第22题:
假设某教学管理数据库有以下三张表,请写出下列问题的SQL语句: 学生(学号,姓名,年龄,性别) 课程(课程号,课程名,任课教师) 成绩(学号,课程号,成绩) (1)如何在SQL Server上创建这三张表; (2)查询刘峰教师所授课程号,课程名; (3)查询年龄大于20岁的所有男同学的学号、姓名; (4)查询至少选修了两门课程(含两门)的学生学号; (5)查询王文芳同学选修的所有课程的课程号; (6)查询王文芳同学不学的课程的课程号; (7)查询所有上刘峰老师课程的学生学号; (8)查询所有选修“数据库原理”的学生的学号; (9)向学生表中插入一条记录(’2003001’,’吴红’,21,’女’);(1表示女,0表示男) (10)删除三张表中所有学号为20020001的学生信息; (11)把学号为20030002的学生的年龄改为22岁。
1.学生表:
Create table 学生表 (
学号 char (8) primary Key,
姓名 char(8),
年龄 int,
性别 bit
)
课程表:
Create table 课程表 (
课程号 char (7) primary Key,
课程名 char(20),
任课教师 char (8)
)
成绩表:
Create table 成绩表 (
学号 char (8),
课程号 char (7),
成绩 Numeric (4,2)
)
2.Select课程号, 课程名 from课程表 where任课教师=’ 刘峰’
3.Select 学号, 姓名 from 学生表 where 性别=1 and 年龄>20
4.select 学号 from 成绩 group by 学号 having count(学号)>=2
5.Select 课程号 from 成绩表, 学生表
Where学生表.姓名=’ 王文芳’ and 学生表.学号=成绩表.学号
6.select 课程号 from 成绩表
where 课程号 not in (select 课程号 from 学生表,成绩表 where 学生表.姓名='王文芳' and 学生表.学号=成绩表.学号)
7.Select 学号 from 成绩表,课程表,学生表
Where 课程表.任课教师='刘世峰' and 课程表.课程号=成绩表.课程号 and 课程表.学号=成绩表.学号
8.Select 学号 from 成绩表,课程表
where 课程表.课程名='数据库技术' and 课程表.课程号=成绩表.课程号
9.insert into 学生表 values ('2003001','吴红','21',1)
10.Delete from学生表 where 学号=’ >20020001’
Delete from学生表 where 学号=’ 20020001’
11. Update 学生表 set 年龄=’22’ where学号=’20030002’
略
第23题:
某班级有学生做好事不留名。甲、乙、丙、丁等4位老师对班上的4位学生表达了他们的看法。甲说:“这件事如果不是张三做的,肯定就是赵六做的。”乙说:“这件事如果是张三做的,那么李四或王五也会做。”丙说:“这件事如果李四不做,则王五也不做;赵六也不会是做这件事的人。”.丁说:“这件事肯定是张三做的,而李四与王五都不会做。”事后得知,四位教师的看法中只有一种是对的。据此,可以推出做好事的学生是()