版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL必知必会是一本 200页不到, 32开的handbook可方便随身带。里面 的很多内容是以前知道但没有 理解,这 本书内容通俗易懂的,如形容数据表就 像是一个文件夹,数据库实例就像是一 个文件柜这样容易理解。 这本书的原作者写得不错,翻译的 水平也极佳。这本书的定位是入门,所 以一切都以点到就为止了。比如存储过 程那一章原作者就说了只以简单的讲一 讲。我们平时实际工作中写得就复杂多 了 。而且原作者把各种主流DBMS的区 别与一般常见的实践技巧全部传授给了 你,我觉得这本书正是我们这些 SQL 菜鸟非常需要的知识。 1 创建示例表业并操作操作表中的数据 2 使用INSERT语句插入数据
2、3 使用UPDATE语句更新数据 4 使用DELETE语句删除数据 5 使用SELECT语句查询数据 列名列名数据类型数据类型是否为空是否为空 商品编号商品编号IntIntNoNo 商品名称商品名称Varchar(20)Varchar(20)NoNo 生产厂商生产厂商Varchar(30)Varchar(30)NoNo 进货价进货价MoneyMoneyNoNo 零售价零售价MoneyMoneyNoNo 数量数量IntIntNoNo 进货时间进货时间DateTimeDateTimeNoNo 进货员工编号进货员工编号Varchar(20)Varchar(20)NoNo 主键:主键:商品编号商品编号
3、 ,自增字段,自增字段 CREATE TABLE Goods CREATE TABLE Goods ( ( 商品编号商品编号 Int IDENTITY (1, 1) Int IDENTITY (1, 1) primary key NOT NULL, NOT NULL, 商品名称商品名称 Varchar(20) NOT NULL, Varchar(20) NOT NULL, 生产厂商生产厂商 Varchar(20) NOT NULL, Varchar(20) NOT NULL, 进货价进货价 Money NOT NULL, Money NOT NULL, 零售价零售价 Money NOT NUL
4、L, Money NOT NULL, 数量数量 Int NOT NULL, Int NOT NULL, 进货时间进货时间 DateTime NOT NULL, DateTime NOT NULL, 进货员工编号进货员工编号 Char(6) NOT NULL Char(6) NOT NULL ) ) 列名列名数据类型数据类型是否为空是否为空 编号编号Char(6)Char(6)NoNo 姓名姓名Char(8)Char(8)NoNo 性别性别BitBitNoNo 部门部门Varchar(16)Varchar(16)YesYes 电话电话Varchar(20)Varchar(20)NoNo 地址地址
5、Varchar(50)Varchar(50)YesYes 主键:编号主键:编号 CREATE TABLE Employees CREATE TABLE Employees ( ( 编号编号 char(6) primary key NOT NULL , char(6) primary key NOT NULL , 姓名姓名 char(8) NOT NULL , char(8) NOT NULL , 性别性别 bit NULL , bit NULL , 部门部门 varchar(16) NULL , varchar(16) NULL , 电话电话 varchar(20) NULL , varcha
6、r(20) NULL , 地址地址 varchar(50) NULL varchar(50) NULL ) ) 列名列名数据类型数据类型是否为空是否为空 销售编号销售编号IntIntNoNo 商品编号商品编号IntIntNoNo 数量数量Int Int NoNo 售出时间售出时间DateTimeDateTimeNoNo 售货员工编号售货员工编号Char(6)Char(6)NoNo CREATE TABLE Sell CREATE TABLE Sell ( ( 销售编号销售编号 Int primary key NOT NULL, Int primary key NOT NULL, 商品编号商品编
7、号 Int NOT NULL , Int NOT NULL , 数量数量 Int NOT NULL, Int NOT NULL, 售出时间售出时间 DateTime NOT NULL, DateTime NOT NULL, 售货员工编号售货员工编号 Char(6) NOT NULL Char(6) NOT NULL ) ) INSERT INTO Employees INSERT INTO Employees ( (编号编号, ,姓名姓名, ,性别性别) ) VALUES (000016,李明李明,1) 使用使用INSERT语句插入数据语句插入数据 SELECT SELECT 编号编号, ,姓
8、名姓名, ,性别性别 INTO Employees2 INTO Employees2 FROM Employees WHERE 性别性别=1 INSERT INTO Employees1 INSERT INTO Employees1 SELECT SELECT * * FROM EmployeesFROM Employees WHERE Employees.性别性别=1 UPDATE table_name | view_name SET column_name = expression | DEFAULT | NULL ,.n WHERE search_condition UPDATE Emp
9、loyeesUPDATE Employees SET SET 电话电话= =043158796545043158796545 WHERE 编号编号=000016 Select Select 电话电话 from Employees from Employees Where Where 编号编号=000016 5.5.1 DELETE语句 DELETE FROM table_name WITH ( .n ) | view_name WHERE DELETE Sell where 售出时间 2004-12-01 Select * from Sell where 售出时间 2004-12-01 TRU
10、NCATE语句 其语句格式为: TRUNCATE TABLE name 快速删除数据库表记录快速删除数据库表记录 它和无条件的它和无条件的 DELETE 有同有同 样的效果,不过因为它不做样的效果,不过因为它不做 表扫描,因而快得多。在大表扫描,因而快得多。在大 表上最有效。表上最有效。 SELECT语句的基本格式如下: SELECT prod_name,prod_name, FROM table_ WHERE search_condition(条件) GROUP BY group_by_expression(分组) ORDER BY order_expression(排序) ASC(升序)
11、| DESC(降序) 1、查询员工表中所有员工的姓名和联系电话 SELECT 姓名,电话 FROM employees SELECT * FROM employees SELECT * FROM employees where 部门=财务部 SELECT DISTINCT SELECT DISTINCT 生产厂商生产厂商 FROM goodsFROM goods SELECT TOP 4 商品名称,进货价,数量 FROM goods SELECT 编号 as number,姓名 as name, 电话 as telephone FROM employees SELECT 商品名称,进货价*数量
12、 AS 总金额 FROM goods 注意:* 字段类行必须 整形、浮点形 SELECT 姓名,电话 FROM employees as c WHERE c.姓名=王峰 SELECT 商品名称 FROM goods WHERE 进 货价*数量10000 SELECT 商品名称 FROM goods WHERE 进货时间1000 SELECT * FROM employees WHERE 姓名 LIKE 李% 注意:注意:likelike查询后面必须有查询后面必须有% % _ _ % %表示若干字符表示若干字符 _ _表示一个字符表示一个字符 查询零售价格在查询零售价格在2000到到3000元之
13、间的所有商品元之间的所有商品 SELECT SELECT 商品名称商品名称, ,零售价零售价 FROM goods FROM goods WHERE WHERE 零售价零售价 BETWEEN 2000 AND 3000 BETWEEN 2000 AND 3000 SELECT SELECT 商品名称商品名称, ,进货价进货价 FROM goods FROM goods WHERE WHERE 商品名称商品名称 IN ( IN (打印机打印机, ,摄像机摄像机) ) (注:(注:( (集合集合1)IN(1)IN(集合集合2),2),表示集合表示集合1 1的每个元素的每个元素 均在集合均在集合2
14、2中则结果为真;把中则结果为真;把ININ改成改成NOT IN,NOT IN,则则 意思相反。)意思相反。) 查询电话不为空的员工信息查询电话不为空的员工信息 : : SELECT SELECT * * FROM employees FROM employees WHERE WHERE 电话电话 IS NOT NULL IS NOT NULL 查询商品的进货价格并按从大到小排序查询商品的进货价格并按从大到小排序 SELECT SELECT 商品名称商品名称, ,进货价进货价 FROM goods FROM goods ORDER BY ORDER BY 进货价进货价 DESC DESC/ASC
15、/ASC 查询财务部的员工人数查询财务部的员工人数 SELECT COUNT(SELECT COUNT(* *) AS ) AS 人数人数 FROM employees FROM employees WHERE WHERE 部门部门= =财务部财务部 SELECT SELECT * * FROM employees FROM employees WHERE WHERE 部门部门=财务部财务部 查询商品编号为查询商品编号为2的商品的销售数量的商品的销售数量 SELECT SUM(数量) as 销售数量 FROM sell WHERE 商品编号=2 SELECT * FROM sell WHERE
16、 商品编号=2 统计各部门的人数统计各部门的人数 SELECT SELECT 部门部门,COUNT(,COUNT(* *) AS ) AS 人数人数 FROM FROM Employees GROUP BY Employees GROUP BY 部门部门 select select * * from employees from employees 对员工表按性别统计各部门人数,可以 写为: SELECT 性别,部门,COUNT(部门) FROM Employees GROUP BY 性别,部门 通过为作为一个整体的组指定条件(即通过为作为一个整体的组指定条件(即 HAVING HAVING
17、子句),可限定查询中出现子句),可限定查询中出现 的组。在对数据进行分组和聚合后,将用到的组。在对数据进行分组和聚合后,将用到 HAVING HAVING 子句中的条件。只有符子句中的条件。只有符 合条件的组才出现在查询中合条件的组才出现在查询中 SELECT SELECT 性别性别, ,部门部门,COUNT(,COUNT(部门部门) AS ) AS 人数人数 FROM Employees GROUP BY FROM Employees GROUP BY 性别性别, ,部门部门 HAVING HAVING 性别性别=1=1 SELECT SELECT 性别性别, ,部门部门,COUNT(,CO
18、UNT(性别)性别) AS AS 人数人数 FROM Employees where FROM Employees where 性别性别= =1 1 GROUP BY GROUP BY 性别性别, ,部门部门 -HAVING -HAVING 性别性别=1=1 某些时候某些时候having与与where的功能相同的功能相同 SELECT 销售编号,商品名称,sell.数量 as 销售数量 FROM goods,sell WHERE goods.商品编号=sell.商品编号 SELECT 销售编号,商品名称,sell.数量 as 销售数量 FROM goods LEFT JOIN sell ON goods.商 品编号=sell.商品编号 注意:查看与关联的区别注意:查看与关联的区别 SELECT 销售编号,商品名称, sell.数量 as 销售数量 FROM goods LEFT JOIN sell ON goods.商品编号=sell.商品编号 SELECT 销售编号,商品名称, sell.数量 as 销售数量 FROM goods RIGHT JOIN sell ON goods.商品编号=sell.商品编号 联合查询进货员工和销售员工,可以写为: SELECT 售货员工编号 AS 业务员 FROM sell UNION SELECT 进货员工编号 FROM go
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精密纸张厚度控制系统行业跨境出海项目商业计划书
- 农业秸秆综合利用设备创新创业项目商业计划书
- 定制咖啡礼盒创新创业项目商业计划书
- 精准农业智能装备系统企业制定与实施新质生产力项目商业计划书
- 线下活动创新创业项目商业计划书
- 铜基单原子纳米酶的制备及其抗菌应用研究
- 资源编排视角下中持股份逆向混改路径及效果研究
- 高温养护下不同界面倾角岩石-混凝土组合体力学特性研究
- 释意理论视角下的科技类访谈交替传译策略-基于《杭州湾跨海大桥访谈》的口译实践报告
- 家具生产工艺流程标准操作文档
- 2025年广东省中考英语试卷深度评析及2026年备考策略
- 2025至2030年中国智慧实验室建设行业市场运营态势及投资前景研判报告
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 闽2023-G-01先张法预应力高强混凝土管桩DBJT13-95
- SJ-T 11798-2022 锂离子电池和电池组生产安全要求
- 法治及其本土资源
- 沪教版(上海)初中数学九年级第一学期-25.3(2)-解直角三角形-课件-课件PPT
- 新标准大学英语综合教程3课文翻译(1-10单元30篇)
- ABPA诊治进展(张家港中医院冯高华)
- 安全- 中国移动认证考试L1题库(附答案)
- 广告及宣传用品设计申请单
评论
0/150
提交评论