SQL笔试
8月30上午去信威面试,之前做了笔试题。
首先,建库:create database bbb;
其次,建表:create table t_user(user_id int(2) primary key,user_name
var10),role_id int(2));
create table t_role(role_id int(2) primary key,role_name
var10));
由于建表的先后次序,t_user中的role_id没有设置外键,现在加上:
alter table t_user
add foreign key
(role_id)references t_role(role_id);
插入数据:
into t_role
(role_id,role_name)
values(0,\超级管理员\
);(此处into后面没有”table“关键字)
into t_role
values(1,\系统管理员\);把t_role数据插入全,t_user编造些数据。
开始做题:
1,select user_id,user_name from t_user
where role_id=(select role_id from t_role where
role_name=\系统管理员\)
order by user_id
desc;(升序为asc,缺省为升序)。order
by后面可跟多列,分别指定顺序。
2,select role_name,
count(t_user.role_id) from t_user,t_role
where t_user.role_id=t_role.role_id
group by t_user.role_id;其中,count和group
by不一定连用。如select count(*) from t_role;输出的结果是3。
3, into t_user values(100,\admin\,(select role_id from
t_role where role_name=\一般操作员\));
4,
t_user
set role_id=(select role_id from
t_role where role_name=\超级管理员\)
where user_id=100;