_SQL语法_01练习题
(完整版)sql语句练习题及答案

(完整版)sql语句练习题及答案⼀在数据库 school 中建⽴student , sc, course 表。
学⽣表、课程表、选课表属于数据库School ,其各⾃的数据结构如下:学⽣Student (Sno,Sname,Ssex,Sage,Sdept)课程表course(Cno,Cname,Cpno,Ccredit)学⽣选课SC(Sno,Cno,Grade)⼆设定主码1 Student表的主码:sno2 Course表的主码:cno3 Sc表的主码:sno,cno1写出使⽤ Create Table 语句创建表 student , sc, course 的SQL语句23 删除student表中的元组4在数据库school中删除关系student5在student表添加属性sbirthdate 类型datetimeDelete1 删除所有JSJ 系的男⽣delete from Student where Sdept=’JSJ’ and Ssex=’男’;2 删除“数据库原理”的课的选课纪录delete from SC where Cno in (select Cno fromCourse where Cname=’数据库原理’);Update1 修改0001 学⽣的系科为: JSJ2 把陈⼩明的年龄加1岁,性别改为⼥。
2 修改李⽂庆的1001课程的成绩为93 分3 把“数据库原理”课的成绩减去1分Select 查询语句⼀单表1查询年龄在19⾄21岁之间的⼥⽣的学号,姓名,年龄,按年龄从⼤到⼩排列。
2查询姓名中第2个字为“明”字的学⽣学号、性别。
3查询 1001课程没有成绩的学⽣学号、课程号4查询JSJ 、SX、WL 系的年龄⼤于25岁的学⽣学号,姓名,结果按系排列5按10分制查询学⽣的sno,cno,10分制成绩(1-10分为1 ,11-20分为2 ,30-39分为3,。
90-100为10)6查询 student 表中的学⽣共分布在那⼏个系中。
SQL语句复习题一

SQL语句复习题一第一篇:SQL语句复习题一SQL语句复习题一:1.创建一个产品表,字段有产品号(编号为5个字符),产品名,单价,库存量。
CREATE TABLE 产品(产品号CHAR(5)PRIMARYKEY,产品名CHAR(50),单价SINGLE,库存量 INT)CREATE TABLE SC(SNO CHAR(8),CNO CHAR(6),SCORE INT,PRIMARYKEY(SNO,CNO))2.往产品表中增加一个产品:产品号为10001,产品名为火腿肠,单价为8.6,库存量为100。
INSERT INTO 产品VALUES(“10001”,”火腿肠”,8.6,100)3.将产品表中产品号为10001的产品的单价上调10%。
UPDATE 产品SET 单价=单价*1.10WHERE 产品号=“10001”4.将产品表中库存量为0的产品删除。
DELETE FROM 产品WHERE 库存量=0第二篇:sql常用语句//创建临时表空间create temporary tablespace test_temptempfile'E:oracleproduct10.2.0oradatatestservertest_temp01.dbf'size32mautoextend onnext 32m maxsize 2048mextent management local;//创建数据表空间create tablespace test_dataloggingdatafile'E:oracleproduct10.2.0oradatatestservertest_data01.dbf'size 32m autoextend onnext 32m maxsize 2048mextent management local;//创建用户并指定表空间create user username identified by passworddefault tablespace test_datatemporary tablespace test_temp;//给用户授予权限//一般用户grant connect,resource to username;//系统权限grant connect,dba,resource to username//创建用户create user user01 identified by u01//建表create table test7272(id number(10),name varchar2(20),age number(4),joindate date default sysdate,primary key(id));//存储过程//数据库连接池数据库连接池负责分配、管理和释放数据库连接////创建表空间create tablespace thirdspacedatafile 'C:/Program Files/Oracle/thirdspace.dbf' size 10mautoextend on;//创建用户create user binbinidentified by binbindefault tablespace firstspacetemporary tablespace temp;//赋予权限GRANT CONNECT, SYSDBA, RESOURCE to binbin//null与""的区别简单点说null表示还没new出对象,就是还没开辟空间个对象装的是空字符串。
sql考试题及答案

sql考试题及答案SQL考试题及答案一、选择题(每题2分,共20分)1. 下列哪个SQL语句用于查询数据?A. SELECTB. INSERTC. UPDATED. DELETE答案:A2. 以下哪个SQL语句用于删除表中的数据?A. DROP TABLEB. DELETE FROMC. TRUNCATE TABLED. ALTER TABLE答案:B3. SQL中的主键约束是什么?A. UNIQUEB. PRIMARY KEYC. FOREIGN KEYD. CHECK答案:B4. 以下哪个函数用于计算字符串的长度?A. CONCAT()B. SUBSTRING()C. LENGTH()D. UPPER()答案:C5. 以下哪个语句用于添加新的数据表?A. CREATE DATABASEB. CREATE TABLEC. ALTER TABLED. DROP TABLE答案:B6. SQL中的LIKE语句用于什么?A. 排序B. 条件搜索C. 聚合数据D. 连接表答案:B7. 以下哪个语句用于修改表结构?A. CREATE TABLEB. ALTER TABLEC. DROP TABLED. TRUNCATE TABLE答案:B8. SQL中的GROUP BY语句用于什么?A. 排序结果B. 聚合数据C. 过滤数据D. 连接表答案:B9. 以下哪个语句用于删除数据库?A. DROP TABLEB. DROP DATABASEC. DELETE FROMD. TRUNCATE TABLE答案:B10. SQL中的INNER JOIN用于什么?A. 内连接B. 外连接C. 全连接D. 交叉连接答案:A二、填空题(每空2分,共20分)1. SQL中的______语句用于插入数据到表中。
答案:INSERT INTO2. 要查询所有列,可以使用SQL中的______关键字。
答案:*3. SQL中的______语句用于删除表。
sql初级练习题

sql初级练习题在数据库管理系统(DBMS)中,SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。
对于初学者来说,通过练习SQL语句可以掌握基本的查询、插入、更新和删除数据的操作。
下面将介绍一些SQL初级练习题,帮助读者提高他们的SQL技能。
1. 查询数据假设我们有一个名为"students"的表,包含以下列:id, name, age, gender。
请编写SQL语句来查询表中所有学生的信息。
```sqlSELECT * FROM students;```2. 条件查询现在我们只想查询年龄大于等于18岁的学生信息,可以使用以下SQL语句:```sqlSELECT * FROM students WHERE age >= 18;```3. 模糊查询我们想查询名字中包含"张"字的学生信息,可以使用以下SQL语句:```sqlSELECT * FROM students WHERE name LIKE '%张%';```4. 排序查询我们想按照年龄从小到大的顺序查询学生信息,可以使用以下SQL 语句:```sqlSELECT * FROM students ORDER BY age ASC;```5. 统计查询我们想知道学生表中的总学生人数,可以使用以下SQL语句:```sqlSELECT COUNT(*) FROM students;```6. 分组查询我们想按照性别统计学生的人数,可以使用以下SQL语句:```sqlSELECT gender, COUNT(*) FROM students GROUP BY gender;```7. 删除数据假设我们需要删除年龄小于18岁的学生信息,可以使用以下SQL 语句:```sqlDELETE FROM students WHERE age < 18;```8. 更新数据如果我们要将名字为"张三"的学生年龄更新为20岁,可以使用以下SQL语句:```sqlUPDATE students SET age = 20 WHERE name = '张三';```通过以上练习题,读者可以熟悉SQL语句的基本操作。
【sql:练习题目1】查找课程01比课程02分数高的学生信息

【sql:练习题⽬1】查找课程01⽐课程02分数⾼的学⽣信息1、准备了50道练习sql的题⽬,今天就开始练习了:⾸先我们介绍所有表的结构,后⾯练习就已这些表开展学⽣ student 表:create table Student(id varchar(10),stdentname varchar(10),age datetime, sex varchar(10));课程表:create table student_course(id varchar(10),coursename nvarchar(10),teacherid varchar(10));教师表:create table Teacher(id varchar(10),teacher_name varchar(10));学⽣分数表:create table student_score(studentid varchar(10),courseid varchar(10),score decimal(18,1));第⼀题:查询课程01 ⽐课程 02分数⾼的学⽣信息分析:先查学⽣分数表得到结果再与学⽣信息表进⾏联合查询 join 这⾥要使⽤right join 关于right join 与 left join的区别上篇⽂章的已经写过sql:SELECT * FROM student RIGHT JOIN(SELECT t1.studentid, class1, class2 FROM( SELECT studentid, score AS class1 FROM student_score WHERE student_score.courseid = 01 ) AS t1,( SELECT studentid, score AS class2 FROM student_score WHERE student_score.courseid = 02 ) AS t2WHERE t1.studentid = t2.studentid AND t1.class1 > t2.class2)rON student.id = r.studentid分析:。
SQL练习题及答案1(合集五篇)

SQL练习题及答案1(合集五篇)第一篇:SQL练习题及答案1SQL练习题:商品销售数据库商品销售数据库Article(商品号 char(4),商品名char(16),单价 Numeric(8,2),库存量 int)Customer(顾客号char(4),顾客名 char(8),性别 char(2),年龄 int)OrderItem(顾客号 char(4),商品号 char(4),数量 int, 日期date)1.用SQL建立三个表,须指出该表的实体完整性和参照完整性,对性别和年龄指出用户自定义的约束条件。
(性别分成男女,年龄从10到100)。
顾客表的数据用插入语句输入数据,其它两表可用任意方式输入数据。
create table OrderItem(顾客号char(4),商品号char(4),日期datetime,数量 smallint,primary key(顾客号,商品号,日期),foreign key(商品号)references Article(商品号), foreign key(顾客号)references Custommer(顾客号));2.检索定购商品号为…0001‟的顾客号和顾客名。
select distinct 顾客号,顾客名from OrderItem where 商品号='0001'3.检索定购商品号为…0001‟或…0002‟的顾客号。
select distinct 顾客号 from OrderItem where 商品号='0001' or 商品号='0002';4.检索至少定购商品号为…0001‟和…0002‟的顾客号。
select 顾客号 from OrderItem where 商品号='0001' and 顾客号 in(select 顾客号 from OrderItem where 商品号='0002');5.检索至少定购商品号为…0001‟和…0002‟的顾客号。
sql语句练习题
sql语句练习题一、简答题1. 什么是数据库?数据库是一个按照结构化方式存储、管理和组织数据的集合,它允许用户通过SQL语言对数据进行查询、增加、修改和删除操作。
2. 什么是SQL?SQL(Structured Query Language)是用于与关系型数据库通信的标准语言。
通过SQL语句,可以对数据库进行查询、插入、更新和删除等操作。
二、选择题1. 关系型数据库是基于以下哪个数据模型构建的?A. 层次模型B. 网络模型C. 对象模型D. 表格模型答案:D. 表格模型2. 下面哪个关键字用于在数据库中创建新表?A. INSERTB. SELECTC. CREATED. DELETE答案:C. CREATE3. 以下哪个关键字用于向数据库中的表中插入新行?A. UPDATEB. INSERTC. DELETED. ALTER答案:B. INSERT三、假设有以下两张表:学生表(Student):学生编号(StuID)学生姓名(Name)学生性别(Gender)1 张三男2 李四女3 王五男课程表(Course):课程编号(CourseID)课程名称(CourseName)课程学时(Credit)1 数学 602 英语 403 物理 80请根据上述信息,编写SQL语句完成以下操作:1. 查询所有学生的信息(包括学生编号、姓名和性别)。
2. 查询所有学生的姓名和所选课程的名称。
3. 查询学生编号为2的学生所选课程的名称和学时。
4. 查询选修课程学时大于50的学生的姓名和性别。
5. 查询选修了物理课程的学生的学生编号和姓名。
6. 将课程学时大于50的课程按照学时的降序排列。
答案:1. SELECT StuID, Name, Gender FROM Student;2. SELECT , Course.CourseNameFROM Student INNER JOIN CourseON Student.StuID = Course.CourseID;3. SELECT , Course.CourseName, Course.CreditFROM Student INNER JOIN CourseON Student.StuID = Course.CourseIDWHERE Student.StuID = 2;4. SELECT , Student.GenderFROM Student INNER JOIN CourseON Student.StuID = Course.CourseIDWHERE Course.Credit > 50;5. SELECT Student.StuID, FROM Student INNER JOIN CourseON Student.StuID = Course.CourseIDWHERE Course.CourseName = '物理';6. SELECT * FROM CourseWHERE Credit > 50ORDER BY Credit DESC;以上是关于SQL语句练习题的解答,通过这些练习可以加深对基本SQL语句的理解和应用。
sql命令练习题
sql命令练习题SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。
掌握SQL命令对于数据库管理和开发至关重要。
本文将提供一些SQL命令练习题,帮助读者提升对SQL语言的理解和应用能力。
练习一:创建数据库和表格1. 创建一个名为"company"的数据库。
2. 在"company"数据库中创建一个名为"employees"的表格,包含以下字段:- "id":整数类型,作为唯一标识员工的主键。
- "name":字符串类型,存储员工姓名。
- "age":整数类型,存储员工年龄。
- "position":字符串类型,存储员工职位。
练习二:插入数据1. 向"employees"表格中插入一条员工记录,包含以下信息:- id:1- name:John- age:30- position:Manager2. 向"employees"表格中插入多条员工记录,包含以下信息:- id:2,name:Lisa,age:25,position:Engineer- id:3,name:Mike,age:35,position:Senior Manager- id:4,name:Sarah,age:28,position:Analyst练习三:查询数据1. 查询"employees"表格中所有员工的信息。
2. 查询"employees"表格中年龄大于等于30的员工姓名和职位。
3. 查询"employees"表格中职位为"Manager"的员工数量。
练习四:更新数据1. 将id为1的员工的职位更新为"Senior Manager"。
sql基础语法 试题
以下为你提供一些关于SQL基础语法试题:1. 写出查询一个名为students的表中所有数据的SQL语句。
2. 假设有一个orders表,其中包含order_id, product_name, 和quantity字段,写出查询所有订单数量大于5的产品的SQL语句。
3. 假设有一个employees表,其中包含employee_id, first_name, last_name, 和salary字段,写出查询工资大于5000的所有员工的SQL语句。
4. 假设有一个customers表,其中包含customer_id, name, 和email字段,写出查询名字为"John"的所有客户的SQL语句。
5. 假设有一个products表,其中包含product_id, product_name, 和price字段,写出查询价格在10到50之间的所有产品的SQL语句。
6. 假设有一个orders表,其中包含order_id, product_name, 和quantity字段,写出插入一条新订单的SQL语句,订单号为101,产品名为"Apple",数量为10。
7. 假设有一个employees表,其中包含employee_id, first_name, last_name, 和salary字段,写出更新工资为6000的员工信息(假设员工ID为1)的SQL语句。
8. 假设有一个customers表,其中包含customer_id, name, 和email字段,写出删除名字为"John"的客户的SQL语句。
9. 假设有一个products表,其中包含product_id, product_name, 和price字段,写出删除价格为20的产品(假设产品ID为1)的SQL语句。
数据库的sql语句练习题
数据库的sql语句练习题1. 练习题一:查询语句基础在学生表(students)中,包含以下字段:学号(id)、姓名(name)、年龄(age)、性别(gender)、班级(class)、成绩(score)。
请编写SQL语句实现以下需求:a) 查询学生表中所有学生的信息。
b) 查询学生表中的男性学生信息。
c) 查询学生表中年龄为18岁的学生信息。
d) 查询学生表中成绩大于等于90分的学生信息。
e) 查询学生表中姓“张”的学生信息。
2. 练习题二:修改语句练习在学生表(students)中,某个学生的学号为1001,需要将该学生的年龄修改为20岁,请编写相应的SQL语句实现此操作。
3. 练习题三:插入语句练习在学生表(students)中添加一条新纪录,学号为1002,姓名为李明,年龄为19岁,性别为男,班级为三年级,成绩为87分,请编写相应的SQL语句实现此操作。
4. 练习题四:删除语句练习在学生表(students)中,某个学生的学号为1003,需要将该学生的信息从表中删除,请编写相应的SQL语句实现此操作。
5. 练习题五:使用多表查询存在两张表,学生表(students)和课程表(courses)。
学生表包含字段:学号(id)、姓名(name)、班级(class);课程表包含字段:课程编号(course_id)、课程名称(course_name)。
已知约德尔学院中,学号为1001的学生参加了编号为1的课程,请编写SQL语句查询学号为1001的学生所选的课程及课程名称。
6. 练习题六:排序查询练习在学生表(students)中,查询所有学生的信息,并按照成绩从高到低进行排序。
以上是数据库的SQL语句练习题,请按照上述要求编写相应的SQL语句进行解答。
祝你练习愉快,取得好成绩!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如:现在要求查询出雇员的编号、姓名和工资
select empno,ename,sal from emp;
例如:要求查询出所有雇员的工作
select distinct job from emp;
例如:现在要求显示出每个雇员的姓名和年薪
select ename,(sal+nvl(comm,0))*12 as y_sal from emp;
例如:每个雇员到年底的时候都会额外发放300元奖金
select ename,(sal+nvl(comm,0))*12+300 as y_sal from emp;
例如:每个人每月都有50元奖金
select ename,(sal+nvl(comm,0)+50)*12 as y_sal from emp;
例如:为之前的内容显示加上别名
select ename,(sal+nvl(comm,0)+50)*12 as y_sal from emp;
例如:希望查询基本工资大于1300的全部雇员信息
select ename,sal from emp where sal>1300;
例如;查询出有奖金(佣金)的雇员
select ename,comm from emp where comm is not null;
例如:要求基本工资大于1300,且有奖金
select ename,sal,comm from emp where sal>1300 and comm is not null;
例如:要求查询出基本工资在2000~3000的雇员信息
select ename,sal from emp where sal>=2000 and sal<=3000;
例如:要求查询出工作是业务员的雇员信息
select ename,job from emp where job=upper('clerk');
例如:要求查询出工作不是业务员也不是销售人员的信息
select ename,job from emp where job<>upper('clerk') and job!=upper('salesman); 例如:要求查询出基本工资在2000~3000的雇员信息
select ename,sal from emp where sal between 2000 and 3000;
例如:要求查询出在1981年雇佣的全部雇员信息
select * from emp where hiredate between '1-1月 -81' and '31-12月 -81';
例如:要求查询出雇员编号为7369、7566、7782雇员的信息
select ename,empno from emp where empno in(7369,7566,7782);
例如:查询雇员姓名中包含字母“A”的全部雇员信息
select ename from emp where ename like '%A%';
例如:查询以字母A开头的全部雇员信息
select ename from emp where ename like 'A%';
例如:查询出雇员姓名第二个字母为“A”的全部雇员信息
select ename from emp where ename like '_A%';
例如:修改之前的查询,要求查询出的结果按照工资由高到低降序排列
select ename,sal from emp where ename like '_A%' order by sal desc;
例如:查询出雇员姓名、工资、雇佣日期,如果工资相等,则按雇佣日期由早到晚排序select ename,sal,hiredate from emp order by sal desc,hiredate desc;
例如:现在要将一个“hello world”字符串中的全部内容变为大写
select upper('hello world') from dual;
例如:将一个单词的首字母进行大写
select initcap('hello') from dual;
例如:要求查询出所有雇员的姓名,并要求姓名的首字母大写
select initcap(ename) from emp;
例如:查询工作是“manager”的雇员信息
select ename,job from emp where job =upper('manager');
例如:给定字符串“hello”,要求截取前三个字母
select substr('hello',1,3) from dual;
例如:给定一个HELLO WORLD字符串,查找里面是否存在“E”
select instr('HELLO WORLD','E') from dual;
例如;在此字符串之中查找“X”是否存在
select instr('HELLO WORLD','X') from dual;
例如:将“hello world”字符串中的o全部换成X
select replace('hello world','o','x') from dual;
例如:去掉左右空格
select trim(' hello world ') from dual;
例如:验证ROUND的使用
select round(15.16) from dual;
select round(15.56) from dual;
例如:验证TRUNC的作用
select trunc(15.26) from dual;
select trunc(15.66) from dual;
例如:取模
select mod(11,2) from dual;
例如:要求查询20部门中雇员进入公司的雇佣星期数
select ename,round((sysdate-hiredate)/7) as h_week from emp where deptno=20;
例如:要求查询出所有雇佣人员的雇佣月数
select ename,round(months_between(sysdate,hiredate)) as h_month from emp;
例如:求两个月之后的今天
select add_months(sysdate,2) from dual;
例如:求出下一个星期三的具体日期
select next_day(sysdate,'星期三') from dual;
例如:求出本月的最后一天
select last_day(sysdate) from dual;
例如:查询出受雇日期不满300个月的雇员的编号、雇佣日期、雇佣的月数、受雇后的第一个星期五以及受雇当月的最后一天。
例如:查询雇员的编号,姓名,雇佣日期
例如:现在准备出两个字符串“1”、“2”,将两个字符串的内容都变为数字之后计算两个数字相加的结果
例如:求出在1981年2月3日到1981年11月25日雇佣的全部雇员信息
例如:现在要求计算出每个雇员的年薪
例如:验证NVL函数的作用
例如:使用NVL函数重新计算年薪例如:现在有如下的一条SQL语句例如:验证DECODE语法
例如:使用此函数修改之前的程序例如:再执行以下一条查询语句。