实例介绍
【实例截图】
【核心代码】
CREATE TABLE EMP
(
EMPNO numeric(5,0) NOT NULL primary key,--雇员的编号
ENAME nvarchar(10) not null,--雇员的名字
JOB nvarchar(9)not null,--雇员的的职位
MGR numeric(5,0),--上级主管编号
HIREDATE datetime,--入职(受雇)日期
SAL numeric(7, 2),--薪金;
COMM numeric(7, 2),--佣金;
DEPTNO numeric(2,0)--部门编号
)
go
CREATE TABLE DEPT
(
DEPTNO numeric(2) primary key,--部门编号
DNAME nvarchar(14) not null,--部门名称
LOC部门所在地 nvarchar(13) --部门所在地
);
INSERT INTO EMP VALUES (7369, 'SMITH', 'CLERK', 7902,'2000-12-17', 800, NULL, 20);
INSERT INTO EMP VALUES (7499, 'allen', 'SALESMAN', 7698,'2001-2-20', 1600, 300, 30);
INSERT INTO EMP VALUES (7521, 'WARD', 'SALESMAN', 7698,'2001-2-22', 1250, 500, 30);
INSERT INTO EMP VALUES (7566, 'JONES', 'MANAGER', 7839,'2001-4-2', 2975, NULL, 20);
INSERT INTO EMP VALUES (7654, 'MARTIN', 'SALESMAN', 7698,'2001-9-28',1250, 1400, 30);
INSERT INTO EMP VALUES (7698, 'BLAKE', 'MANAGER', 7839,'2001-5-1', 2850, NULL, 30);
INSERT INTO EMP VALUES (7782, 'CLARK', 'MANAGER', 7839,'2001-6-9', 2450, NULL, 10);
INSERT INTO EMP VALUES (7788, 'scott', 'ANALYST', 7566,'2002-12-9',3000, NULL, 20);
INSERT INTO EMP VALUES (7839, 'king', 'PRESIDENT', NULL,'2001-11-17',5000, NULL, 10);
INSERT INTO EMP VALUES (7844, 'TURNER', 'SALESMAN', 7698,'2001-9-8', 1500, 0, 30);
INSERT INTO EMP VALUES (7876, 'ADAMS', 'CLERK', 7788,'2003-1-12',1100, NULL, 20);
INSERT INTO EMP VALUES (7900, 'JAMES', 'CLERK', 7698,'2001-3-12',950, NULL, 30);
INSERT INTO EMP VALUES (7902, 'FORD', 'ANALYST', 7566,'2001-3-12',3000, NULL, 20);
INSERT INTO EMP VALUES (7934, 'MILLER', 'CLERK', 7782,'2002-01-23',1300, NULL, 10);
INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO DEPT VALUES (20, 'RESEARCH', 'DALLAS');
INSERT INTO DEPT VALUES (30, 'SALES', 'CHICAGO');
INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');
select *from EMP--员工表
select *from DEPT--部门表
select COUNT(COMM) from EMP
--列出至少有一个雇员的部门
select DEPTNO ,COUNT(*)
from EMP
GROUP BY DEPTNO
HAVING COUNT(EMPNO)>=1
--列出各种了那个类别工作的最低工资
select job, MIN(sal)
from EMP
group by JOB
--列出各个部门的经理的最低工资 如果where和group同时从在 先筛选行再分组
--最后自己希望显示的是最低,部门 或者加个经理
select MIN(SAL),DEPTNO
from EMP
WHERE JOB= 'manager'
group by DEPTNO
having MIN(SAL)>2800
SELECT MIN(SAL)
FROM EMP
WHERE DEPTNO=10
------列出各种工作类别的最低薪金大于1500
--找出符合条件的工作
--这些工作的最低薪金大于1500的
----显示的是工作类别,最低薪金
SELECT MIN(SAL),JOB
FROM EMP
GROUP BY JOB
HAVING MIN(SAL)>1500
SELECT MIN(SAL),JOB FROM EMP
WHERE SAL >1500
GROUP BY JOB
--1、查询所有的雇员名字
SELECT ENAME
FROM EMP
--2、查询所有的部门
SELECT DISTINCT DEPTNO
FROM EMP
GROUP BY DEPTNO
SELECT DEPTNO
FROM EMP
GROUP BY DEPTNO
--3、查询没有佣金(COMM)的所有雇员信息
SELECT *
FROM EMP
WHERE COMM is null
--4、查询薪金(SAL)和佣金(COMM)总数大于2000的所有雇员信息
--提示:isnull(列名,0) :如果该列中有空值,就把空值当做0做计算
SELECT *
FROM EMP
WHERE isnull(COMM,0) isnull(SAL,0)>2000
--5、选择部门编号=30中的雇员
SELECT E.ENAME FROM EMP E WHERE E.DEPTNO=30
--6、列出所有Job办事员("CLERK")的姓名、编号和部门名称
--1写法
SELECT JOB, ENAME,EMPNO,DNAME FROM EMP E,DEPT D
WHERE E.DEPTNO=D.DEPTNO AND E.JOB='CLERK'
--2写法
SELECT JOB, ENAME,EMPNO,DNAME
FROM EMP INNER JOIN DEPT
ON EMP.DEPTNO=DEPT.DEPTNO AND EMP.JOB='CLERK'
--7、找出佣金高于薪金的雇员
SELECT EMPNO ,ENAME
FROM EMP
WHERE COMM>SAL
--8、找出佣金高于(薪金的60%)的雇员
SELECT EMPNO ,ENAME
FROM EMP
WHERE COMM>SAL*0.6
--9、找出部门10中所有经理和部门20中的所有办事员的详细资料
SELECT *FROM EMP
WHERE (DEPTNO=10 OR DEPTNO=20) AND JOB='CLERK'
--10、找出既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料
SELECT * FROM EMP
WHERE (JOB !='CLERK' AND JOB!='MANAGER') AND SAL>=2000
--11、找出收取佣金的雇员的不同工作
SELECT DISTINCT JOB FROM EMP
WHERE COMM IS NOT NULL
SELECT * FROM EMP
--12、找出不收取佣金或收取的佣金低于100的雇员
SELECT * FROM EMP
WHERE COMM < 100 OR COMM IS NULL
--13、找出早于8年之前受雇的雇员
SELECT * FROM EMP
WHERE DATEADD(YEAR,8,HIREDATE) < GETDATE()
--14、显示首字母大写的所有雇员的姓名????????????????????????????????????????????????????????????????????????????????????
--提示:区分大小写
--collate:指定排序规则的
--修改表,设置大小写是否敏感,
--不区分大小写 chinese_prc_ci_as
--区分大小写 chinese_prc_cs_as
alter table emp
alter column ename varchar(20) collate chinese_prc_cs_as
select ename from emp
where ENAME like '[A]%'
SELECT ENAME FROM EMP
WHERE ENAME LIKE '[QWERTYUIOPASDFGHJKLZXCVBNM]%'
-- 15
--15、显示正好为5个字符的雇员姓名?????????????????????????????????????????????????????????????????????????????????????
SELECT * FROM EMP
WHERE ENAME LIKE '_____'
-- 16
--16、显示带有'R'的雇员姓名 不区分大小写??????????????????????????????????????????????????????????????????????????
SELECT * FROM EMP
WHERE ENAME LIKE '%R%' OR ENAME LIKE '%r%' -- 17
--17、显示不带有'R'的雇员姓名?????????????????????????????????????????????????????????????????????????????????????????
SELECT * FROM EMP-- 18
--18、显示包含"A"的所有雇员的姓名及"A"在姓名字段中的位置??????????????????????????????????????????////////???????????
-- 提示: 使用函数 charindex()
SELECT ENAME,CHARINDEX ( 'A' ,ENAME ,0 )
FROM EMP
WHERE ENAME LIKE'%A%'
--19、显示所有雇员的姓名,用a替换所有'A'
SELECT * FROM EMP
--20、显示所有雇员的姓名的前三个字符
SELECT SUBSTRING(ENAME ,1,3) FROM EMP
--21、显示雇员的详细资料,按姓名排序
SELECT * FROM EMP
ORDER BY ENAME
--22、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面
SELECT * FROM EMP
--23、显示所有雇员的姓名、工作和薪金,按工作降序顺序排序,
--而工作相同的按薪金升序排序.
SELECT ENAME ,JOB,SAL FROM EMP
ORDER BY JOB DESC,SAL
--24、显示在一个月为30天的情况下所有雇员的日薪金,忽略小数
SELECT * FROM EMP
--25、找出在(任何年份的)2月受聘的所有雇员
SELECT ENAME 雇员,HIREDATE 受雇日期 FROM EMP
WHERE DATEPART(MONTH,HIREDATE)=2
--26、对于每个雇员,显示其加入公司的天数??????????????????????????????????????????????????????????????????
SELECT * FROM EMP
select DatePart(year,'2014-01-01'),count(*) from EMP
group by DatePart(year,'2015-01-01')
--27、列出至少有一个雇员的所有部门???????????
SELECT DEPTNO FROM EMP
GROUP BY DEPTNO
--28、列出各种类别工作的最低工资
SELECT MIN(SAL) ,JOB FROM EMP
GROUP BY JOB
--29、列出各个部门的MANAGER(经理)的最低薪金
SELECT DEPTNO, MIN(SAL) FROM EMP
WHERE JOB='MANAGER'
GROUP BY DEPTNO
--30、列出薪金高于公司平均水平的所有雇员
SELECT * FROM EMP
--31、列出各种工作类别的最低薪金,并使最低薪金大于1500
SELECT * FROM EMP
--32、显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇 日所在月排序,将最早年份的项目排在最前面$$$$$$$$$$$$$$$
SELECT * FROM EMP
--33、显示所有雇员的姓名以及满8年服务年限的日期
SELECT * FROM EMP
--34、显示所有雇员的服务年限:总的年数或总的月数或总的天数
SELECT * FROM EMP
--35、列出按计算的字段排序的所有雇员的年薪.即:按照年薪对雇 员进行排序,年薪指雇员每月的总收入总共12个月的累加
SELECT * FROM EMP
--36、列出年薪前5名的雇员
SELECT * FROM EMP
--37、列出年薪低于10000的雇员
SELECT * FROM EMP
--38、列出雇员的平均月薪和平均年薪
SELECT * FROM EMP
--EMP
--DEPT
--39、列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门
--SELECT * FROM DEPT LEFT [OUTER] JOIN EMP ON DEPT.DEPTNO=EMP.DEPTNO
SELECT DNAME, ENAME FROM EMP E RIGHT OUTER JOIN DEPT D ON E.DEPTNO=D.DEPTNO
-- 部门编号 部门名称 雇员名字
SELECT DEPT.DEPTNO 部门编号,DNAME 部门名称 ,ENAME 雇员名称 FROM DEPT LEFT JOIN EMP ON DEPT.DEPTNO=EMP.DEPTNO
--40、列出每个部门的信息以及该部门中雇员的数量
SELECT DEPT.DEPTNO 部门编号,DNAME 部门名称,COUNT(ENAME) 人数
FROM DEPT LEFT JOIN EMP ON DEPT.DEPTNO=EMP.DEPTNO
GROUP BY DEPT.DEPTNO,DNAME
--部门信息 该部门雇员的数量 按部门分组
SELECT D.DNAME 部门名称,COUNT(ENAME) 人数,D.DEPTNO 部门编号
FROM EMP E RIGHT JOIN DEPT D ON E.DEPTNO=D.DEPTNO
GROUP BY D.DEPTNO,DNAME
--41、列出薪金比"SMITH"多的所有雇员
SELECT * FROM EMP
--42、列出所有雇员的姓名及其直接上级的姓名(自连接)$$$$$$$$$$$$$$$$$$$$$$$$$
--自连接:就是一个表自己和自己连接,
--注意一定要用表别名,区分它们
SELECT * FROM EMP
--43、列出入职日期早于其直接上级的所有雇员$$$$$$$$$$$$$$$$$$$$$$$$$
SELECT * FROM EMP
--44、列出所有办事员("CLERK")的姓名及其部门名称
SELECT * FROM EMP
--45、列出从事"SALES"(销售)工作的雇员的姓名,假定不知道 销售部的部门编号
SELECT * FROM EMP
--46、列出与"SCOTT"从事相同工作的所有雇员
SELECT * FROM EMP
--47、列出某些雇员的姓名和薪金,条件是他们的薪金等于部门30 中任何一个雇员的薪金
SELECT * FROM EMP
--48、列出某些雇员的姓名和薪金,条件是他们的薪金高于部门30 中所有雇员的薪金
SELECT * FROM EMP
--49、列出从事同一种工作但属于不同部门的雇员的不同组合
SELECT * FROM EMP E1,EMP E2
WHERE E1.JOB =E2.JOB AND E1.DEPTNO<>E2.DEPTNO AND E1.ENAME<E2.ENAME
--50、列出所有雇员的雇员名称、部门名称和薪金
--
SELECT * FROM EMP
--51 回家作业:
--要求:用子查询实现,查询emp表中的第6到第10个员工(分页的基础)
--(特别 提醒:员工编号唯一,但不一定连续)
--一,普通查
select TOP 5 * FROM EMP
WHERE EMPNO NOT IN (SELECT TOP 5 EMPNO FROM EMP)
--二,效率更高的 子查询做数据源
SELECT * FROM (
SELECT ENAME,JOB,SAL FROM EMP
WHERE SAL>2000) AS T
WHERE JOB ='MANAGER'
SELECT * FROM (
select ROW_NUMBER ( ) OVER ( order by empno ) as ID , EMP.* from EMP
) AS T
WHERE T.ID BETWEEN 6 AND 10
--分析函数 产生序列号列
--ROW_NUMBER ( ) OVER ( order by empno ) as ID ,
SELECT ENAME FROM EMP INNER JOIN DEPT
ON EMP.DEPTNO!=DEPT.DEPTNO
SELECT ENAME FROM EMP
WHERE DEPTNO NOT IN (SELECT DEPTNO FROM DEPT)
--子查询
SELECT ENAME FROM EMP
where exists
(
select *from DEPT where DEPT.DEPTNO=EMP.DEPTNO
)
--列出与'SCOOTT'从事相同工作的所有雇员
SELECT EMPNO ,ENAME ,JOB FROM EMP
WHERE JOB=(SELECT JOB FROM EMP WHERE ENAME='scott')
--找出scott从事的工作
SELECT JOB FROM EMP WHERE ENAME='scott'
--找出scott从事的部门
SELECT DEPTNO FROM EMP WHERE ENAME='scott'
--将雇员SCOOTT的部门改成'SALES'
--找出SALES 所在的部门编号
SELECT DEPTNO FROM DEPT WHERE DNAME='SALES'
UPDATE EMP
SET DEPTNO=(SELECT DEPTNO FROM DEPT WHERE DNAME='SALES')
WHERE ENAME='scott'
SELECT * FROM DEPT
SELECT * FROM EMP
--UPDATE 表名
--SET 列名=newvalue,列名2=newvalue,.......
--WHERE 条件
--删除所有'RESEARCR'部门的员工
--找出RESEARCR 所在的部门编号
SELECT DEPTNO FROM DEPT WHERE DNAME='RESEARCH'
DELETE EMP
WHERE DEPTNO=(SELECT DEPTNO FROM DEPT WHERE DNAME='RESEARCH')
SELECT * FROM info--学生信息
SELECT * FROM lesson--课程信息
SELECT * FROM score--分数
--学籍管理系统(info,lesson,score)
--查询所有参加考试并及格的同学的姓名
--参加考试的同学编号,
SELECT DISTINCT SUNMB FROM score
--通过编号找到考试同学的姓名
SELECT SNAME FROM info
where SNUMB in (SELECT DISTINCT SUNMB FROM score)
--考试及格的同学编号
SELECT SUNMB FROM score where score >60
--查询所有参加考试并及格的同学的姓名****************************************************************
SELECT SNAME FROM info
where SNUMB in (SELECT SUNMB FROM score where score >60)
--考试及格的科目编号
--查询未参加考试学生信息
SELECT * FROM info
where SNUMB not in (SELECT DISTINCT SUNMB FROM score)
DECLARE @AvgSal money
SELECT @AvgSal =AVG(SAL) FROM EMP
IF(@AvgSal>2500)
BEGIN
PRINT '你好'--通常是用来测试的
END
BEGIN
PRINT '你才好'
END
DECLARE @Sum int
SET @Sum=0
DECLARE @Index int
SET @Index=1
while(@Index <=100)
begin
IF (@Index%3=0)
BEGIN
SET @Sum =@Index
END
SET @Index= @Index 1
end
PRINT @Sum
SELECT SNAME,性别=CASE
WHEN SEX =0 THEN '女'
when sex=1 then '男'
END FROM info
SELECT SNAME,性别=CASE
WHEN SEX= 0 THEN '女'
WHEN SEX=1 THEN '男' END FROM info
--1,查询参加考试的学生的姓名,考试科目,成绩
--成绩要用,优 良 中 差 及格 ,不及格,表示
--参加考试的同学编号,
SELECT DISTINCT SUNMB FROM score
--通过编号找到考试同学的姓名
SELECT SNAME FROM info
where SNUMB in (SELECT DISTINCT SUNMB FROM score)
--查考试同学每个同学的分数
SELECT * FROM score
--学生编号
SELECT SUNMB FROM score
SELECT SNAME 姓名,l.CCNAME 科目 ,成绩=case
when SCORE>0 and SCORE<=20 then '不及格'
when SCORE>20 and SCORE<=40 then '及格'
when SCORE>40 and SCORE<=60 then '差'
when SCORE>60 and SCORE<=80 then '良'
when SCORE>80 and SCORE<=100 then '优'
end
FROM info I LEFT JOIN score S ON I.SNUMB=S.SUNMB join lesson l on S.CCODE=l.CCODE
WHERE SNUMB IN (SELECT DISTINCT SUNMB FROM score)
--2 创建测试表dump(id int,name varchar(50),price money)
--向测试表添加10万行测试数据。要求:所有数据不能重复
CREATE TABLE [dump]
(
id int ,name varchar(50),price money
)
DROP TABLE [dump]--删除表
--DELETE FROM [dump]--删除数据
DECLARE @count int=1
WHILE(@count<=100000)
BEGIN
insert into [dump]
values (@count,NEWID(),@count*4.2-5)
set @count =1
END
select *from [dump]
--3 如果公司雇员的最高工资超过4500,显示公司内工资最高的3个
--员工信息
DECLARE @AvgSal money
SELECT @AvgSal =AVG(SAL) FROM EMP
IF(@AvgSal>2500)
BEGIN
PRINT '你好'--通常是用来测试的
END
BEGIN
PRINT '你才好'
END
DECLARE @MaxSal money
SELECT @MaxSal =MAX(SAL) FROM EMP
if( @MaxSal>4500)
BEGIN
select TOP 3 * from EMP
ORDER BY SAL DESC
END
select* from EMP
--4员工涨工资,规则是先每人都涨200元,看是否都达到
--最低标准2000元,如果没都达到,每人再涨200,如此反复涨工资
--直到所有人的工资都达到2000为止。(公司有工资上限规定个人的
--最高工资不能超过6000元)
WHILE((SELECT MIN(SAL)FROM EMP)<2000)
begin
UPDATE EMP
SET SAL= SAL 200
end
UPDATE EMP
SET SAL=6000
WHERE SAL>=6000
SELECT *FROM DEPT
SELECT *FROM EMP
DROP TABLE EMP
DROP TABLE DEPT
--5 实现对emp表的分页,要求:每页记录数(@PageSize),和显示
--第几页(@PageIndex)是变量。
--SELECT * FROM (
--SELECT ENAME,JOB,SAL FROM EMP
--WHERE SAL>2000) AS T
--WHERE JOB ='MANAGER'
--SELECT * FROM (
--select ROW_NUMBER ( ) OVER ( order by empno ) as ID , EMP.* from EMP
--) AS T
--WHERE T.ID BETWEEN 6 AND 10
DECLARE @PageSize int--每页记录数
DECLARE @PageIndex int--第几页
SELECT @PageSize=5
SELECT @PageIndex=2
SELECT *FROM
(SELECT (row_number() over (order by empno)) as DAID ,* FROM EMP) AS Temp
WHERE DAID BETWEEN (@PageSize*(@PageIndex-1) 1) AND( @PageSize*@PageIndex )
SELECT *FROM EMP
DECLARE @PageSize INT,@PageIndex INT
SELECT @PageSize = 3,@PageIndex=3
SELECT * FROM
(SELECT ROW_NUMBER() OVER (ORDER BY EMPNO) AS ID,* FROM EMP) AS Temp
WHERE ID BETWEEN (@PageSize*(@PageIndex-1) 1) AND (@PageSize*@PageIndex)
--6 根据如下规则反复涨工资,直到平均工资超过4000元为止。
--5000以上 :不涨 ,4000-4999 涨100元
--3000-3999 涨200元,2000-2999 涨300元,
--2000以下 涨500元。
WHILE((SELECT MIN(SAL)FROM EMP)<2000)
begin
UPDATE EMP
SET SAL= SAL 200
end
UPDATE EMP
SET SAL=6000
WHERE SAL>=6000
--平均工资
SELECT AVG(SAL) FROM EMP
--目测是按照次数涨工资
--记录涨的次数
DECLARE @a int
DECLARE @b int
SET @a=(SELECT AVG(SAL) FROM EMP )
SET @b=CASE
WHEN SAL <5000 AND SAL>4000 THEN 100
WHEN SAL <3999 AND SAL>3000 THEN 200
WHEN SAL <2999 AND SAL>2000 THEN 300
WHEN SAL <2000 THEN THEN 400
END
WHILE( @a<=4000)
BEGIN
UPDATE EMP
SET SAL=SAL @b
END
PRINT @a
while ((select AVG(SAL)from EMP)<4000)
begin
update EMP
set SAL=case
WHEN SAL <5000 AND SAL>4000 THEN SAL 100
WHEN SAL <3999 AND SAL>3000 THEN SAL 200
WHEN SAL <2999 AND SAL>2000 THEN SAL 300
WHEN SAL <2000 THEN SAL 400
end
end
select * from EMP
--4000-4999这个段的人
SELECT SAL FROM EMP WHERE SAL <4999 AND SAL>4000
--3000-3999
SELECT SAL FROM EMP
WHERE SAL <3999 AND SAL>3000
--2000-2999
SELECT SAL FROM EMP
WHERE SAL <2999 AND SAL>2000
--2000一下的
SELECT SAL FROM EMP WHERE SAL <2000
--DECLARE @Name VARCHAR(20)
--SELECT @Name =ENAME FROM EMP WHERE DEPTNO
DECLARE @PageSize INT,@PageIndex INT
SELECT @PageSize = 3,@PageIndex=3
SELECT ename,job,sal,deptno FROM
(SELECT ROW_NUMBER() OVER (ORDER BY EMPNO) AS ID,* FROM EMP) AS Temp
WHERE ID BETWEEN (@PageSize*(@PageIndex-1) 1) AND (@PageSize*@PageIndex)
CREATE PROC PAGE
标签: 商城
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论