ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:23.12KB ,
资源ID:2317091      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2317091.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SQL sever 各种查询语句和建表语句.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

SQL sever 各种查询语句和建表语句.docx

1、SQL sever 各种查询语句和建表语句SQL sever 2000各种查询语句和建表语句2009-10-29 00:21CREATE TABLE Company(CompanyID CHAR(3) NOT NULL CONSTRAINT PK_Company PRIMARY KEY,CompanyName NVARCHAR(10) NOT NULL,CompanyAddress NVARCHAR(50) NULL)CREATE TABLE Worker(WorkerID CHAR(5) NOT NULL CONSTRAINT PK_Worker PRIMARY KEY,WorkerName

2、 NVARCHAR(5) NOT NULL,WorkerSex NCHAR(1) NOT NULL CONSTRAINT CK_Worker_WorkerSex CHECK (WorkerSex IN (男, 女),WorkerAge TINYINT NULL,WorkerJob NVARCHAR(10) NULL,Salary INT NULL,CompanyID CHAR(3) NULL CONSTRAINT FK_Worker_Company FOREIGN KEY REFERENCES Company(CompanyID)CREATE TABLE Project(ProjectID C

3、HAR(3) NOT NULL CONSTRAINT PK_Project PRIMARY KEY,ProjectName NVARCHAR(20) NOT NULL,ProjectPlace NVARCHAR(10) NULL)CREATE TABLE Enroll(WorkerID CHAR(5) NOT NULL,ProjectID CHAR(3) NOT NULL,Job NVARCHAR(10) NULL,MonthCount INT NULL,MonthSalary INT NULL,CONSTRAINT PK_Enroll PRIMARY KEY (WorkerID, Proje

4、ctID),CONSTRAINT FK_Enroll_Worker FOREIGN KEY (WorkerID) REFERENCES Worker(WorkerID),CONSTRAINT FK_Enroll_Project FOREIGN KEY (ProjectID) REFERENCES Project(ProjectID)INSERT INTO Company (CompanyID, CompanyName, CompanyAddress)VALUES (A01, 北京公司, 北京海淀区)INSERT INTO Company (CompanyID, CompanyName, Com

5、panyAddress)VALUES (B24, 上海公司, 上海闵行区)INSERT INTO Company (CompanyID, CompanyName, CompanyAddress)VALUES (C13, 福建公司, 福建福州鼓楼区)INSERT INTO Company (CompanyID, CompanyName, CompanyAddress)VALUES (D00, 台湾%公司, 台北县台北市)INSERT INTO Worker (WorkerID, WorkerName, WorkerSex, WorkerAge, WorkerJob, Salary, Compan

6、yID)VALUES (A0101, 黄伟强, 男, 33, 工程师, 2100, A01)INSERT INTO Worker (WorkerID, WorkerName, WorkerSex, WorkerAge, WorkerJob, Salary, CompanyID)VALUES (A0102, 陈至, 男, 36, 高级工程师, 4300, A01)INSERT INTO Worker (WorkerID, WorkerName, WorkerSex, WorkerAge, WorkerJob, Salary, CompanyID)VALUES (B2424, 林发清, 女, 43

7、, 高级工程师, 5000, B24)INSERT INTO Worker (WorkerID, WorkerName, WorkerSex, WorkerAge, WorkerJob, Salary, CompanyID)VALUES (C1313, 陈华仁, 男, 35, NULL, 2500, C13)INSERT INTO Worker (WorkerID, WorkerName, WorkerSex, WorkerAge, WorkerJob, Salary, CompanyID)VALUES (C1315, 傅星, 女, 23, 助理工程师, 2000, C13)INSERT IN

8、TO Worker (WorkerID, WorkerName, WorkerSex, WorkerAge, WorkerJob, Salary, CompanyID)VALUES (X0001, 赵苑言, 女, NULL, NULL, 3000, NULL)INSERT INTO Project (ProjectID, ProjectName, ProjectPlace)VALUES (101, 国道, 四川成都)INSERT INTO Project (ProjectID, ProjectName, ProjectPlace)VALUES (202, 高速公路, NULL)INSERT I

9、NTO Project (ProjectID, ProjectName, ProjectPlace)VALUES (303, 大桥, 天津南开区)INSERT INTO Enroll (WorkerID, ProjectID, Job, MonthCount, MonthSalary)VALUES (A0101, 101, 项目经理, 18, 1000)INSERT INTO Enroll (WorkerID, ProjectID, Job, MonthCount, MonthSalary)VALUES (A0101, 202, NULL, 12, 800)INSERT INTO Enroll

10、 (WorkerID, ProjectID, Job, MonthCount, MonthSalary)VALUES (A0102, 101, NULL, 23, 800)INSERT INTO Enroll (WorkerID, ProjectID, Job, MonthCount, MonthSalary)VALUES (A0102, 202, NULL, 17, 650)INSERT INTO Enroll (WorkerID, ProjectID, Job, MonthCount, MonthSalary)VALUES (C1313, 303, 施工员, 14, 800)INSERT

11、INTO Enroll (WorkerID, ProjectID, Job, MonthCount, MonthSalary)VALUES (C1315, 202, 施工员, 15, 900)INSERT INTO Enroll (WorkerID, ProjectID, Job, MonthCount, MonthSalary)VALUES (X0001, 101, 监理, 20, 1000)- 1.SELECT * FROM Worker- 2.SELECT WorkerName AS 姓名, Salary FROM Worker- 3SELECT WorkerID, Salary/22.

12、5 FROM WorkerSELECT WorkerID, Convert(Int, Salary/22.5) FROM WorkerSELECT WorkerID, CAST(Salary/22.5 AS INT) FROM WorkerSELECT WorkerID, Salary/22.5 AS DaySalary FROM WorkerSELECT WorkerID AS 员工号, Salary/22.5 AS 日工资 FROM WorkerSELECT WorkerID 员工号, Salary/22.5 日工资 FROM WorkerSELECT 员工号=WorkerID, 日工资=

13、Salary/22.5 FROM WorkerSELECT INT 员工号=WorkerID, Salary/22.5 日工资FROM Worker- 4.Select * From EnrollWhere MonthCount 15- 5.Select *From CompanyWhere A01 = CompanyID- 6 Select ProjectNameFrom ProjectWhere ProjectPlace = 四川-7 Select *From WorkerWhere WorkerName LIKE 陈%-8Select *From WorkerWhere WorkerNa

14、me LIKE %言-9Select *From WorkerWhere WorkerName LIKE 张%言-10 Select *From CompanyWhere CompanyName LIKE %司%Select *From CompanyWhere CompanyName LIKE %Select *From WorkerWhere WorkerID LIKE _01_2Select *From WorkerWhere WorkerName LIKE 陈_-11Select *From WorkerWhere WorkerName LIKE 傅赵%-12Select *From

15、WorkerWhere WorkerName LIKE 傅赵%Select *From WorkerWhere WorkerName NOT LIKE 傅赵%Select *From WorkerWhere NOT WorkerName LIKE 傅赵%-13Select *From CompanyWhere CompanyAddress IN (北京海淀区, 上海闵行区)-13.5Select *From CompanyWhere CompanyName LIKE %+% ESCAPE +-14Select *From WorkerWhere WorkerAge Between 20 And

16、 30-15Select *From WorkerWhere WorkerAge NOT Between 20 And 30Select *From WorkerWhere NOT WorkerAge Between 20 And 30-17Select *From WorkerWhere WorkerAge IS NULLSelect *From WorkerWhere WorkerAge IS NOT NULL-19Select *From WorkerOrder By SalarySelect *From WorkerOrder By Salary ASC-20Select *From

17、WorkerOrder By Salary DESC-21Select *From WorkerOrder By CompanyID, Salary DESC-22Select TOP 1 *From WorkerOrder By WorkerAge Asc-23Select Distinct CompanyIDFrom Worker/* 回顾* 索引的概念* 简单查询* 选择全部、部分字段* 计算字段* 字段重命名* 选择查询 WHERE* 基本的比较条件 = = ! != 2/*注意HAVING和WHERE的区别*/*以上各种查询可以混合使用*/- 例:查出拥有高级员工(指工资超过3000

18、的工程师)- 超过2人的公司- 并计算高级员工的人数、平均工资和最高工资/*当包含多个子句进行查询时,各子句被执行的顺序是:FROM - WHERE - GROUP BY -HAVING -SELECT - ORDER - TOP*/*连接查询连接查询就是对多个表进行连接,将多个表的数据结合在一起通常,连接的表都是有外键关系的表连接查询就是关系连接运算的实现连接运算是为了将设计时拆分的表组合起来*/- 例:查询出每个工程师的信息,以及他工作的单位信息SELECT Worker.WorkerName, Company.CompanyNameFROM Worker INNER JOIN Compa

19、ny ON Worker.CompanyID = Company.CompanyID/*连接查询的主要工作在FROM子句中基本语法为:FROM JOIN ON 连接类型包括:内连接、外连接、交叉连接等下面叙述的主要针对内连接连接条件,往往是两个表之间的关联字段,一般是等值比较*/- 例:查询包括工程师信息的参加工作情况/*对于连接查询而言,经过JOIN的两个表,构成了一个新表我们在之前所讲述的所有查询手段,都可以应用于这个新表*/- 例:查询工资超过3000的工程师的姓名和公司名称、电话/*在连接查询中,字段可以用.来引用尤其对于两边同名的字段,必须加表名进行限定对于重名的字段,往往需要用字段

20、别名的方式在结果中加以区分名称不重复的字段,可以不限定,但是建议限定单表查询也可以在字段名前加表名进行限定,但是往往不需要*/*查询中为了简化书写,可以给表起别名FROM AS 哪怕是单表查询也可以加别名,但是没有太大意义别名往往用简单的字母A、B、C等,但往往用表名的简称*/- 例:用表别名的方式重写上面的例子SELECT w.WorkerName, co.CompanyNameFROM Worker w INNER JOIN Company co ON w.CompanyID = co.CompanyID/*自然连接在数据库的设计中,关联的字段(外键)往往会采取和主键表相同的命名此时我们可

21、以写成自然连接语法:FROM NATURAL JOIN 不需要说明任何条件,自动找同名字段进行等值连接但是:SQL Server不提供本语法,以上语法在Oracle中提供通常我们用INNER JOIN替代*/*在实际应用中,参与连接的表可以不止两个,可以为多个多表连接,一般是分部进行的,以内连接为例,语法如下:FROM INNER JOIN ON INNER JOIN ON 我们可以理解为先连接前两个,形成一个新表,然后新表再连接第三个表*/- 例:查询完整的参加工作情况,包括工程师、公司和工程项目信息/*多表连接时,我们可以用括号指定连接顺序对于内连接,因为满足交换律、结合律,因此都是等价的

22、*/- 例:查询在上海的公司中工资超过3000的工程师的人数、平均工资/* 预习* 自连接* 外连接* 嵌套查询(子查询)*/- 1.SELECT * FROM Worker- 2.SELECT WorkerName AS 姓名, Salary FROM Worker- 3SELECT WorkerID, Salary/22.5 FROM WorkerSELECT WorkerID, Convert(Int, Salary/22.5) FROM WorkerSELECT WorkerID, CAST(Salary/22.5 AS INT) FROM WorkerSELECT WorkerID,

23、 Salary/22.5 AS DaySalary FROM WorkerSELECT WorkerID AS 员工号, Salary/22.5 AS 日工资 FROM WorkerSELECT WorkerID 员工号, Salary/22.5 日工资 FROM WorkerSELECT 员工号=WorkerID, 日工资=Salary/22.5 FROM WorkerSELECT INT 员工号=WorkerID, Salary/22.5 日工资FROM Worker- 4.Select * From EnrollWhere MonthCount 15- 5.Select *From CompanyWhere

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2