实验2 T-SQL简单数据库查询

合集下载

实验二SQL语言——数据查询操作

实验二SQL语言——数据查询操作

实验二SQL语言——数据查询操作SQL (Structured Query Language) 是一种用于管理关系数据库系统的标准语言。

在数据查询操作方面,SQL 可以帮助用户从数据库中检索想要的数据,通过下面的实验,我们将深入了解 SQL 语言在数据查询操作中的应用。

一、SELECT语句SELECT语句是SQL中最常用的语句之一,它用于从数据库中选择需要查询的数据。

SELECT语句的基本语法如下:```SELECT列名1,列名2,...FROM表名;```例如,我们有一个名为 "Students" 的表,其中包含了学生的姓名、年龄和性别等信息。

要查询学生的姓名和年龄,我们可以使用以下SELECT 语句:```SELECT 姓名, 年龄 FROM Students;```二、WHERE子句WHERE子句用于在SELECT语句中添加过滤条件,只返回满足条件的数据。

下面是WHERE子句的基本语法:```SELECT列名1,列名2,...FROM表名WHERE条件;```例如,我们要查询年龄大于等于18岁的学生信息,可以使用以下SELECT语句:```SELECT * FROM Students WHERE 年龄 >= 18;```三、ORDERBY子句ORDERBY子句用于按照指定的列进行排序,可以按照升序或降序排列。

下面是ORDERBY子句的基本语法:```SELECT列名1,列名2,...FROM表名ORDERBY列名[ASC,DESC];```例如,我们要按照学生的年龄从小到大排序,可以使用以下SELECT语句:```SELECT * FROM Students ORDER BY 年龄 ASC;```四、GROUPBY子句GROUPBY子句用于将查询结果按照一个或多个列进行分组,并对每个组进行聚合操作。

下面是GROUPBY子句的基本语法:```SELECT列名1,列名2,...FROM表名GROUPBY列名1,列名2,...;```例如,我们要统计每个性别的学生人数```SELECT 性别, COUNT(*) FROM Students GROUP BY 性别;```五、HAVING子句HAVING子句用于在GROUPBY子句中添加过滤条件,只返回满足条件的分组。

实验二 SQL语句查询

实验二 SQL语句查询

SQL语句查询练习实验报告一、实验项目名称SQL查询语句练习二、实验目的熟练掌握SQL查询语句,能够运用该语句完成各种查询。

三、实验环境1.硬件:网络实验室2.软件:Windows98/2000等操作系统,安装SQL Server 2000个人版或企业版四、实验内容book(总编号,分类号,书名,作者,出版社,单价,是否在库)图书数据表bookreader(借书证号,单位,姓名,性别,年龄,职称,地址)读者数据表readerborrow(借书证号,总编号,借书日期,还书日期)例题1:创建名为bookstore的数据库删除名为bookstore的数据库3.建立基本表reader(借书证号,单位,姓名,性别,年龄,职称,地址)4.删除基本表reader5.为book表在总编号上建立聚集索引6.删除book表在总编号上建立的索引7.在book表的基础,建立book_w视图,包含总编号,分类号,书名,作者8.删除视图book_wCREATE DATABASE bookstoreDROP DATABASE bookstoreCREATE TABLE reader(借书证号,单位,姓名,性别,年龄,职称,地址)DROP TABLE readerCREATE CLUSTER INDEX all_number ON book(总编号)DROP INDEX book.all_numberCREATE VIEW book_w as select 总编号,分类号,书名,作者 from book DROP VIEW book_w例题2:1.查询单位为“化工系”的读者的借书证号、姓名、职称。

2.查询单位为“化工系”或“数学系”,职称为“讲师”的读者的姓名及单位。

3.查询单价在10~20元之间的图书的书名、作者、出版单位、单价。

4.查询单位为“外语系”或“建工系”读者的姓名、单位、职称。

5.查询所有姓刘的读者的姓名、单位。

SQL实验二:数据库查询实验报告

SQL实验二:数据库查询实验报告

实验二数据库的查询实验实验目的和要求(1)掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。

(2)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。

(3)熟练掌握数据查询中的分组、统计、计算和组合的操作方法。

实验内容和原理在实验一定义的“学生成绩数据库”中,使用T-SQL 语句完成以下查询:(1 )求计算机系学生的学号和姓名。

(2)求选修了数学的学生学号、姓名和成绩。

(3)求选修01 课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。

(4)查找选修课程的平均成绩位于前三名的学生的学号。

(5)查询计算机系的姓刘且单名的学生的信息。

(6)查询至少选修两门课程的学生学号。

(7)查询学生的学号、课程号以及对应成绩与所有学生所有课程的最高成绩的百分比。

(8)查询选修“数据库”课程,且成绩在80 分以上的学生的学号和成绩。

(9)查询所有姓“王”的同学没有选修的课程名。

(请分别用exists和in完成该查询) (10)查询选修了全部课程的学生的姓名。

(请至少写出两种查询语句)(11)求选修了学生“ 95001”所选修的全部课程的学生学号和姓名。

(12)查询每一门课的间接先修课。

(13)列出所有学生所有可能的选课情况。

(14)列出每个学生的学号及选修课程号,没有选修的学生的学号也一并列出。

(15)输出与“张三”同性别并位于同一个系的所有同学的姓名。

(请至少写出两种查询语句)(16)查询至少被两名男生选修的课程名。

(17)对被两名以上学生所选修的课程统计每门课的选课人数。

要求输出课程号和选修人数,查询结果按人数降序排列;若人数相同,按课程号升序排列。

(18)列出选修课程超过 3 门的学生姓名及选修门数。

(19)检索至少选修课程号为01 和03 的学生姓名。

(20)检索至少选修课程“数学”和“操作系统”的学生学号。

(21 )查询‘操作系统'课程的最高分的学生的姓名、性别、所在系(22)查询数据结构的成绩低于操作系统的成绩的学生姓名及该生的这两门课的成绩(23)所有成绩都在70 分以上的学生姓名及所在系。

实验二T-SQL语言基本操作

实验二T-SQL语言基本操作

实验二 T-SQL语言基本操作一.实验目的本实验主要了解T-SQL语句以及在查询分析器中执行T-SQL语句的方法。

通过本实验,读者将了解使用T-SQL语句创建数据库和数据表;掌握数据库查询语句Select语句的基本语法及使用方法;掌握对数据表进行数据插入、修改和删除的T-SQL语句;了解T-SQL语言的各种运算符、控制语句的功能并学会简单的程序编写。

二.实验环境●Microsoft SQL Server 2005 SSMS●Book数据库三.实验内容1.利用对象资源管理器中提供的“生成SQL脚本”命令编写Book数据库中数据表对象“T_Teacher”、“T_BookOrder”、“T_BookInfo”、“T_Publisher”、“T_Academy”创建的脚本文件D:\Table.sql。

实验参考步骤:1) 在对象资源管理器右单击Book数据库,选择“任务/生成脚本”菜单,进入“生成脚本”向导,选中“Book”数据库,并勾选“为所选数据库中的所有对象编写脚本”后,点击“下一步”按钮。

2) 在脚本选项对话框中点“下一步”,进入输出选项对话框,在其中选择输出文件3) 然后点“完成按钮”生成脚本文件。

2.在SSMS中,并建一个查询窗口,在其中输入以下T-SQL语句后,点“执行”按钮完成实验一中的第1题。

CREATE DATABASE BookON (NAME=Book_Data,FILENAME='C:\DBF\BOOK_Data.MDF',SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=2MB)LOG ON (NAME=Book_log,FILENAME='C:\DBF\Book_Log.LDF',SIZE=5MB,MAXSIZE=100MB,FILEGROWTH=1MB)3.编写SELECT语句,建立以下查询1)显示T_BookInfo表中所有字段的值。

实验2 数据库的简单查询和连接查询实验

实验2  数据库的简单查询和连接查询实验

实验2 数据库的简单查询和连接查询实验1.实验目的加深对SQL语言的查询语句的理解。

熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。

2.实验内容1.简单查询操作。

该实验包括投影、选择条件表达,数据排序,使用临时表等。

具体完成以下题目,将它们转换为SQL语句表示,在学生选课数据库中实现其数据查询操作。

1.查询全体学生的学号和姓名2.查询全体学生的详细记录3.查询全体学生的姓名、出生年份和所在的院系,要求用小写字母表示所有系名。

4.查询选修了课程的学生学号,去掉结果中的重复行。

5.查询所有年龄在20~23岁之间的学生姓名、系别和年龄。

6.查询计算机科学系(CS)、数学系(MA)和信息系(IS)学生的姓名和性别。

7.查询所有姓刘的学生的姓名、学号和性别。

8.查询DB_Design课程的课程号和学分。

9.查询计算机科学系年龄在20岁以下的学生姓名。

10.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。

11.计算1号课程的学生最高分数。

12.查询选修了2门以上课程的学生学号。

13.查询缺少了成绩的学生的学号和课程号。

2.连接查询操作。

该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。

14.查询每个学生的情况以及他所选修的课程15.求学生的学号、姓名、选修的课程及成绩16.求选修课程号为2且成绩在90以上的学生学号、姓名和成绩17.查询每一门课程的间接先行课(即先行课的先行课)。

数据库实验T-SQL语句查询

数据库实验T-SQL语句查询

南京信息工程大学实验(实习)报告实验名称数据库实验(四)实验日期得分指导教师顾韵华院计算机与软件学院专业计算机科学与技术年级 2012 班次 3 姓名宗仰学号 20121308097 1.实验目的:1.学会使用T-SQL语句查询。

2.实验内容:完成以下题目:1、创建2个整型变量x1、x2,为x1赋初值100,将x1的10倍赋予x2,输出x1+x2。

2、在SPDG数据库中,用T-SQL实现如下功能:创建一个名为num的局部变量,将客户订购的商品最大数量赋予该变量,并查询订购商品数量最多的客户编号。

3、用T-SQL编程输出1~100之间能被4整除的数。

4、假定商品均价过高,需要降低价格。

将单价降低10%,如果均价调整到了20元以下,那么完成;否则继续降低10%,直到均价低于20元为止。

5、使用系统函数,计算今天距离“2020-1-1”还剩多少天。

(P299)6、编写T-SQL程序,利用系统转换函数,检索总订购商品数在10~19的客户姓名。

7、定义函数RectArea,计算一个长方形的面积(长、宽作为函数的参数)。

8、在SPDG数据库中定义函数,根据商品编号,查询该商品的名称;(函数名为QryGoods)。

(P299)3.实验步骤1、创建2个整型变量x1、x2,为x1赋初值100,将x1的10倍赋予x2,输出x1+x2。

DECLARE@X1INT,@X2INTSET@X1=100SET@X2=10*@X1PRINT@X1+@X22、在SPDG数据库中,用T-SQL实现如下功能:创建一个名为num的局部变量,将客户订购的商品最大数量赋予该变量,并查询订购商品数量最多的客户编号。

3、用T-SQL编程输出1~100之间能被4整除的数。

DECLARE@num VARCHAR(20)SET@num=1WHILE@num<=100BEGINIF(@num%4=0)PRINT@numSET@num=@num+1END4、假定商品均价过高,需要降低价格。

实验二SQL查询知识

实验二SQL查询知识1. SQL查询基础SQL(Structured Query Language)是一种用于在关系型数据库中进行数据操作的语言。

在实验二中,我们将学习SQL 查询的基础知识和常用语句。

1.1 SELECT语句SELECT语句用于从数据库中查询数据。

其基本语法如下:SELECT 列名1, 列名2, ... FROM 表名;其中,列名是要查询的数据列名,表名是要查询数据的表名。

例如,查询学生表中所有学生的学号和姓名,可以使用以下SQL语句:SELECT学号, 姓名FROM学生表;1.2 WHERE子句WHERE子句用于添加条件限制,在查询语句中使用。

其基本语法如下:SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件;条件是一个表达式,用于筛选符合条件的数据行。

例如,查询学生表中年龄大于等于18岁的学生信息,可以使用以下SQL语句:SELECT*FROM学生表WHERE年龄>=18;1.3 排序ORDER BY语句用于对查询结果进行排序,默认是按照升序排列。

其基本语法如下:SELECT 列名1, 列名2, ... FROM 表名 ORDER BY 列名 [ASC|DESC];例如,查询学生表中年龄大于等于18岁的学生信息,并按照年龄降序排列,可以使用以下SQL语句:SELECT*FROM学生表WHERE年龄>=18ORDER BY 年龄DESC;1.4 聚合函数聚合函数用于对数据进行统计计算,常用的聚合函数包括COUNT、SUM、AVG、MAX和MIN等。

下面是一些常用的聚合函数及其使用方法:•COUNT:统计行的数量SELECT COUNT(*) FROM表名;•SUM:计算指定列的总和SELECT SUM(列名) FROM表名;•AVG:计算指定列的平均值SELECT AVG(列名) FROM表名;•MAX:计算指定列的最大值SELECT MAX(列名) FROM表名;•MIN:计算指定列的最小值SELECT MIN(列名) FROM表名;1.5 LIMIT子句LIMIT子句用于限制查询结果返回的行数。

实验二 SQL 2008数据库的查询

实验二数据库的查询一、实验内容1.SELECT语句的基本使用;2.子查询的使用,连接查询的使用,数据汇总,Group By、Order By子句的使用。

二、实验步骤1.SELECT语句的基本使用(1)对于实验1给出的数据库表结构,查询每个雇员的所有数据。

在查询分析器的窗口输入如下的语句并执行:USE YGGLSEIECT *FROM EmployeesGO【思考与练习】用SELECT语句查询Departments和Salary表的所有记录。

USE YGGLSELECT*FROM DepartmentsGO(2)查询每个雇员的地址和电话。

在查询分析器的窗口输入如下的语句并执行:USE YGGLSELECT Address,PhoneNumberFROM EmployeesGO【思考与练习】用SELECT语句查询Departments和Salary表的一列或若干列。

USE YGGLSELECT Income,OutcomeFROM SalaryGO(3)查询EmployeeID为000001的雇员的地址和电话。

在查询分析器的窗口输入如下的语句并执行:USE YGGLSELECT Address,PhoneNumber 7FROM EmployeesWHERE EmployeelD=’000001’GO【思考与练习】用SELECT语句查询Departments和Salary表中满足指定条件的1列或若干列USE YGGLSELECT DepartmentName,noteFROM DepartmentsWHERE DepartmentID='1'GO(4)查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。

在查询分析器的窗口输入如下的语句并执行:USE YGGLSELECT Address AS地址,PhoneNumber AS电话FROM EmployeesWHERE sex=0GO注意:使用AS子句可指定目标列的标题。

数据库实验3-SQL语言之数据查询(简单查询)

实验三SQL数据查询(简单查询)姓名:学号:专业:网络工程班级:20网络工程同组人:无实验日期:【实验目的与要求】1、熟练掌握SELECT 语句的基本语法格式;2、熟练掌握使用SQL语句进行单表查询,掌握GROUP BY子句、HA VING 子句和集函数;3、熟练掌握使用SQL标准语句和T-SQL扩展语句进行连接查询。

【实验内容】3.0. 实验准备与说明本实验将用到实验二中数据库SalesDB和相应的表及数据,若该数据库及表尚未创建,或数据尚未录入,则请先完成之。

请根据前面实验创建的表结构和数据,完成如下查询。

本实验及后面实验中所用测试数据库中表的字段及含义如下表:表-1 测试数据库表的字段及含义3.1.简单查询(1).查询各种产品的产品编号、产品名称和价格。

请给出相应语句:USE SalesDB;SELECT Pno,Pname,Price FROM Product;请给出运行结果:(2).查询所在城市为“厦门”的客户编号和客户名称,结果中各列的标题分别指定为:“客户编号”和“客户名称”显示。

请给出相应语句:SELECT Cno as客户编号,Cname as客户名称FROM Customer WHERE City='厦门';请给出运行结果:(3).查询各产品编号、名称、库存量和产品总值。

(总值:价格与库存数量的积)请给出相应语句:SELECT Pno,Pname,Price ,Stocks FROM Product;SELECT SUM(Price*Stocks)as产品总值FROM Product;请给出运行结果:(4).查询曾购买过产品的客户编号(不重复)。

请给出相应语句:SELECT Cno FROM Customer;请给出运行结果:(5).查询价格在1000-2000的产品信息,并依价格由低到高的顺序排序。

(请使用Between…and和算术比较运算符分别实现)a.使用Between…and比较实现:请给出相应语句:use SalesDB;select*from Productwhere Price between 1000 and 2000order by Price;请给出运行结果:b.使用算术比较实现:请给出相应语句:use SalesDB;select*from Productwhere Price >= 1000 and Price<=2000order by Price;请给出运行结果:(6).查询产品名称含有“热水器”的产品信息。

使用T-SQL语句实现简单查询


使用T-SQL语句实现简单查询
T-SQL语句中查询语句的语法结构
ORDER BY 子句: 用于指定在 SELECT 语句返回的列中所使用的排序 顺序。其中ASC表示升序排列,可以缺省,而DESC表 示降序排列。
使用T-SQL语句实现简单查询
T-SQL语句中查询语句的语法结构
INTO子句: 是将查询结果保存在指定的目标数据表中,常用于 创建表的备份复件或者用于对记录进行存档。
代码如下:
USE Librarymanage GO SELECT DISTINCT Book_press FROM Bookinfo GO
使用T-SQL语句实现简单查询
T-SQL语句的简单查询
实践操作: 利用SQL语句在图书管理系统(Librarymanage)数据 库中查询图书的ISBN号,书名,出版日期以及出版时 间,并在最后添加一个说明列,指出出版时间的单位 为年。
使用T-SQL语句实现简单查询
代码如下:
USE Librarymanage GO SELECT Book_ISBN AS ISBN号,Book_name AS 书名,Book_pressdate AS 出 版日期,
DATEDIFF(Year,Book_pressdate,GETDATE()) AS 出版时间,'年' AS 单 位 FROM Bookinfo GO
பைடு நூலகம்
使用T-SQL语句实现简单查询
数据库设计与实现
使用T-SQL语句实现简单查询
朱云霞
使用T-SQL语句实现简单查询
学习目标: 理论目标:理解T-SQL语句中查询语句的语法结构 实践目标:掌握T-SQL语句的简单查询
使用T-SQL语句实现简单查询
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河南工业大学实验报告
课程数据库原理及应用_ 实验名称 T-SQL简单数据库查询
系别 ____信息科学与工程学院计算机科学系 _______________
专业班级 ___ 计科 10 级 04 班 ____ __ 实验报告日期 2012-09-25
姓名___ _______ 学号____20104683_______
教师审批签字
1.实验目的
1.牢记SELECT 语句的基本语法格式;
2.掌握利用SQL语句进行多表内/外连接查询和嵌套查询的方法;
3.掌握GROUP BY子句、HA VING子句、ORDER BY子句的用法;
4.掌握(NOT)IN、(NOT)EXISTS等谓词的用法;
5.掌握SUM、A VG、COUNT、MAX、MIN等集合函数的用法;
2.实验内容及要求
对CPXS数据库,完成如下查询任务:
根据上述情况完成:
1.查询地区在“郑州”的客户编号和客户名称,结果中各列的标题分别指定为:
CustomerID和CustomerName。

2.查询价格在1000-2000之间的产品信息。

3.查询产品名称含有“变频”字样的产品情况。

4.按商品编号统计各种产品在国庆黄金周期间的销售单数(记录数)、总销量和销售总
额,并对统计结果按照销售总额降序排序。

5.列出购买2种以上产品的客户编号。

6.(结合上题)列出购买2种以上产品的客户编号、客户名称、地区、负责人和电话。

7.统计每个客户在国庆黄金周期间的购物情况(客户编号、名称、消费总金额和最近
消费日期),即使某些客户没有消费记录,也要包括其信息。

8.查询在国庆黄金周期间没有任何销售记录的产品编号、名称及库存量。

3.实验过程及结果
(说明:要写出相关SQL语句,实验结果可以是运行画面的抓屏,抓屏图片要尽可能的小。

)查询地区在“郑州”的客户编号和客户名称T-SQL语言如下
use CPXS
select 客户编号as CustomerID,客户名称as CustomerName from 客户 where 地区='郑州市'运行结果如图1 地区在“郑州”的客户编号和客户名称
图1 地区在“郑州”的客户编号和客户名称
查询价格在1000-2000之间的产品信息T-SQL语言如下use CPXS
select * from 产品 where 价格between 1000 and 2000
运行结果如图2 价格在1000-2000之间的产品信息
图2 价格在1000-2000之间的产品信息
查询产品名称含有“变频”字样的产品情况T-SQL语言如下use CPXS
select * from 产品 where 产品名称like '%变频%'
运行结果如图3 含有“变频”字样的产品情况
图3 含有“变频”字样的产品情况
查询商品编号统计各种产品在国庆黄金周期间的销售情况查询T-SQL语言如下
use CPXS
select count(产品编号) 销售单数,sum(数量) 总销量,sum(销售额) 销售总额from 销售where 销售日期between '2011-10-01'and '2011-10-07'
group by 产品编号order by 销售总额desc
运行结果如图4 各种产品在国庆黄金周期间的销售情况
图4 各种产品在国庆黄金周期间的销售情况
列出购买2种以上产品的客户编号T-SQL语言如下
use CPXS
select 客户编号 from 销售
group by 客户编号
having count(产品编号)>=2
运行结果如图5 购买2种以上产品的客户编号
图5 购买2种以上产品的客户编号
列出购买2种以上产品的客户编号、客户名称、地区、负责人和电话T-SQL语言如下use CPXS
select * from 客户 where 客户编号in
(select 客户编号from 销售
group by 客户编号
having count(产品编号)>=2)
运行结果如图6 购买2种以上产品的客户信息
图6 购买2种以上产品的客户信息
统计每个客户在国庆黄金周期间的购物情况T-SQL语言如下
use CPXS
select a.客户编号,a.客户名称,sum(销售额) 消费总金额,max(销售日期) 最近消费日期from 客户 a left join 销售 b
on a.客户编号=b.客户编号 and 销售日期 between '2011-10-01' and '2011-10-07' group by a.客户编号,客户名称
运行结果如图7 客户在国庆黄金周期间的购物情况
图7 客户在国庆黄金周期间的购物情况
查询在国庆黄金周期间没有任何销售记录的产品编号、名称及库存量T-SQL语言如下use CPXS
select * from 产品
where 产品编号 not in (select distinct 产品编号 from 销售 )
运行结果如图8 黄金周期间没有销售记录的产品信息
图8 黄金周期间没有销售记录的产品信息
4.实验中的问题及心得
在做第七个小题时总是出现客户·客户名称错误,把客户名称加入到group by分组中就行了,不能熟练记得select语句,多练习。

相关文档
最新文档