SQL基础语法集合.doc_第1页
SQL基础语法集合.doc_第2页
SQL基础语法集合.doc_第3页
SQL基础语法集合.doc_第4页
SQL基础语法集合.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库和表-1、给数据库重命名alterdatabase STUDENTmodify name= 可爱的人-2、查看数据库信息EXECUTEsp_helpdb 可爱的人-3、删除数据库DROPDATABASE 可爱的人-4、创建数据库和表CREATEDATABASE STUDENTUSE STUDENTGOCREATETABLE CJ(学号char(10)notnullPRIMARYKEY, 课程号char(4)notnull, 成绩numeric)-5、查看表的结构信息executesp_help CJ -6、向表中添加列ALTERtable CJADD 年龄char(4)null-7、修改列属性ALTERTABLE CJALTERCOLUMN 年龄char(10)NULL-8、修改列名EXECsp_renameCJ.年龄,岁数-9、删除列ALTERTABLE CJDROPCOLUMN 岁数-10、向CJ表中插入记录USE STUDENTGOINSERT CJ(学号,课程号,成绩,岁数)VALUES(2006030101,王林,89,18)-11、修改表中的数据(将CJ表中uoyou男生主那也名称改为信息技术)UPDATE CJSET 专业=信息技术WHERE 性别=男数据约束和规则-12、在建表的同时,创建所需约束。约束要求如下: ()将学号设置为主键,主键名为pk_xuehao。 ()为姓名添加惟一约束,约束名为uk_xymy。 ()为性别添加默认约束,默认名称df_xybx,其值为“男”。()为出生日期添加CHECK约束,约束名为ck_csrq,其检查条件为(出生日期/01/1986)。USE STUDENTGOCREATETABLE STU1(学号CHAR(12)CONSTRAINT pk_xuehao PRIMARYKEY,姓名CHAR(8)CONSTRAINT uk_xymy UNIQUE,性别CHAR(2)CONSTRAINT df_xybx DEFAULT男,出生日期SMALLDATETIMECONSTRAINT ck_csrq check(出生日期01/01/1986),家庭住址CHAR(30)NOTNULL, 备注TEXT)GO-13创建一个qqlx_rule规则,将其绑定到JBQK表的缺勤类型字段上,保证输入的缺勤类型只能是“”、“”、“”或“”。createrule ru_HHAH as num in(1,2,3,4)绑定规则sp_bindruleru_HHAH,JBQK.缺勤类型sp_unbindruleJBQK.缺勤类型-14删除qqlx_rule规则(注意:规则已绑定到JBQK表的缺勤类型字段上)。droprule ru_HHAH-15创建一个qqly_def默认对象,将其绑定到JBQK表的缺勤理由字段上,使其默认值为“事假”。createdefault 理由as事假-16、删除默认对象qqly_def(注意:默认对象已绑定到JBQK表的缺勤理由字段上)。sp_bindefault理由,JBQK.缺勤理由sp_unbindefaultJBQK.缺勤理由dropdefault 理由altertable JBQK addconstraint fk_qqlx foreignkey(缺勤类型)references QQLx(缺勤类型)-17、为YGKQ数据库中的JBQK表添加外键约束,要求如下: 将缺勤类型设置为外键,其引用表为QQLX,外键名称为fk_qqlx。altertable JBQKdropconstraint fk_qqlx数据查询(一)-18、查询XSDA表中所有学生的学号和总学分,并按总学分由高到低排序use xsgoSELECT 学号,总学分FROM XSDAORDERBY 总学分DESC-19、求学号为“”的学生选修课程的平均分数use xsgoSELECT 选修课程的平均分数=AVG(成绩)FROM XSCJWHERE 学号=200501-20、求学号为“”的学生选修课程的最高分和最低分use xsgoSELECT 最高分=MAX(成绩),最低分=MIN(成绩)FROM XSCJWHERE 学号=200501-21、求XSDA表中信息系学生的总人数use xsgoSELECT信息系学生总人数=COUNT(*)FROM XSDAWHERE 系名=信息-22、求XSCJ表中选修了课程的学生的总人数use xsgoSELECT选修课程总人数=COUNT(DISTINCT 学号)FROM XSCJ -23、求XSDA表中男女生人数use xsgoSELECT 性别,COUNT(*)AS总人数FROM XSDAGROUPBY 性别GO-24)查询所有学生的详细信息与选课信息。SELECT*FROM sc rightjoin student on sc.sno = student.sno-25)分别使用连接查询和子查询的方式检索所有选修了号课程的学生的姓名。-连接查询select sname as 姓名,cno AS 课程编号from sc innerjoin student on sc.sno = student.sno and o =2-子查询select sname as 姓名,cno AS 课程编号from sc,studentwhere sc.sno = student.sno and o =(select cno from course where cno = 2)-26)分别使用连接查询和子查询的方式检索所有与“刘琳”在一个系学习的学生的姓名。-连接查询select b.sname AS 姓名from student a,student bWHERE a.sname =刘琳and b.sdept = a.sdept and b.sname 刘琳-子连接select sname AS 姓名from studentwhere sdept=(select sdeptfrom studentwhere sname =刘琳)and sname 刘琳-27)查询其它系中比IS系任意一个学生年龄小的学生的姓名和年龄。select sdept,sname,sagefrom studentwhere sdept !=isand sage any(select sage from studentwhere sdept =is)-29)将以上两个示例转换为MAX或MIN集函数的形式。(4)select sdept,sname,sagefrom studentwhere sdept !=isand sage any(selectmax(sage)from studentwhere sdept =is)数据查询(二)-30)使用EXISTS谓词查询所有选修了号课程的学生姓名。select snamefrom studentwhereEXISTS(select*from scwhere sno.student = sc.sno and o =1)-31、查询所有学生的详细信息。use studentgoselect*from student-32、查询年龄在23岁(包括岁和岁)之间的学生的姓名、系别和年龄。select sname AS姓名,sdept AS系别,sage AS年龄from studentwhere sage between 20 and 23 -33、查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。select sname AS姓名,ssex AS性别from studentwhere sdept in(IS,MA,CS)-34、查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。select sname AS姓名,ssex AS性别from studentWHERE sdept NOTin(is,MA,CS)-35、查询所有姓刘学生的姓名、学号和性别。select sname AS姓名,sno AS学号,ssex AS性别from studentWHERE sname LIKE刘%-36、查询名字中含有阳字的学生的姓名和学号。select sname AS姓名,sno AS学号from studentWHERE sname LIKE%阳%-37、在XSCJ表中求每门课成绩大于分的人数,并显示统计的明细select*from XSCJ where 成绩 80orderby 课程编号COMPUTECOUNT(课程编号)BY 课程编号-38、查找信息系所有男生的学号、姓名、性别和系名,并产生一个学生总人数行。select 学号,姓名,性别,系名from XSDAWHERE 性别=1AND 系名=信息COMPUTECOUNT(学号)数据查询(三)-39、查询XSDA表中学生的基本信息按系名排序,并汇总各系的人数和总学分的平均值。select*from XSDAORDERBY 系名COMPUTECOUNT(学号)BY 系名COMPUTEAVG(总学分)BY 系名-40、查找XS数据库中选修了课程的学生的基本情况select*from XSCJ,XSDAwhere XSCJ.学号=XSDA.学号and 课程编号ISNOTNULL-41、查找选修号课程并且成绩大于分的学生的姓名及成绩select 姓名,成绩from XSDA,XSCJwhere XSCJ.课程编号=202and 成绩70-42、查询Goods商品表中打印机、摄像机的进货价格select 进货价from Goodswhere 商品名称 IN(打印机,摄像机)-43、查询Employees员工表中电话不为空的员工信息select*from EmployeesWHERE 电话ISNOTNULL-44、查询Goods商品表中商品的信息,按照商品进货数量的升序排序,在同一数量内将按照进货价的降序排列SELECT*FROM GoodsORDERBY 数量DESC-45、统计Employees员工表中各部门的男性人数select*from goodsorderby 数量,进货价desc-46、统计Sell销售表中销售商品的总数量selectcount(*)from sell-47、分别统计Sell销售表各员工的销售总数select 售货员工编号,销售总数=sum(数量)from sellgroupby 售货员工编号-48、查询XSDA表中总学分50的同学的学号、姓名、性别、出生日期、备注, 结果中各列的标题分别指定为xh、xm、xb、csrq和bz。select 学号ASxh,姓名ASxm,性别ASxb,出生日期AScsrq,备注ASbzfrom XSDAwhere 总学分90ORDERBYAVG(成绩)-57、查询XSCJ表中选修课程超过门,并且成绩都在分以上的学生的学号select 学号,选修课程门数=count(课程编号)from XSCJWHERE 成绩90GROUPBY 学号havingcount(课程编号)3-58、将XSCJ表的学号设置为外键,约束它只能输入XSDA表中存在的学号altertable XSCJ addconstraint fk_wode_shia foreignkey(学号)references XSDA (学号)-59、将XSCJ表的课程编号设置为外键,约束它只能输入KCXX表中存在的课程编号altertable XSCJ addconstraint fk_wode_shiba foreignkey(课程编号)references KCXX (课程编号)-60、查询结果中要求各列的标题分别指定为number和name。select number=学号,name=姓名from XSDA-61、假设XSCJ表中所有学生的成绩均为期未考试成绩,计算总

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论