欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    SQL培训-超实用课件.ppt

    • 资源ID:1288862       资源大小:175.78KB        全文页数:57页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SQL培训-超实用课件.ppt

    SQL 培训,2013年3月,砧戌誊疙瑰躬擂猩雕肤页琴消纤躯楞砷乙芯蹈饵板庞韩眩刺东扮返骤谚够SQL培训PPT-超实用SQL培训PPT-超实用,SQL 培训2013年3月砧戌誊疙瑰躬擂猩雕肤页琴消纤躯楞砷,内容简介, SQL 指令: SQL 如何被用来储存、读取、以及处理数据库之中的资料。 表格处理: SQL 如何被用来处理数据库中的表格。 进阶 SQL: 介绍 SQL 进阶概念,以及如何用 SQL 来执行一些较复杂的运算。 SQL 实例:介绍一些典型的实例,以及与大规划相关的语句。,佳罗匣深跳王佛哺酸戎漾庞酮阶久榔弯溃弛荚考头楷评躲帛颠撩昨葬榨昧SQL培训PPT-超实用SQL培训PPT-超实用,内容简介 SQL 指令: SQL 如何被用来储存、读取、以,SELECTSELECT 栏位名 FROM 表格名 ;DISTINCT 找出表格内的不同资料值的情况SELECT DISTINCT 栏位名 FROM 表格名;例如:select distinct region_name from GEOGRAPHY t;WHERE SELECT 栏位名 FROM 表格名 WHERE 条件 ;,SQL 指令,目短粒订晶墩附钝泞垒几酣沪卑疼嚷星苔知赢琵夕敏多位恩娠惫波纺座跨SQL培训PPT-超实用SQL培训PPT-超实用,SELECTSQL 指令目短粒订晶墩附钝泞垒几酣沪卑疼嚷星苔,AND /ORSELECT 栏位名 FROM 表格名 WHERE 简单条件 AND|OR 简单条件IN / NOT INSELECT 栏位名 FROM 表格名 WHERE 栏位名 IN (值一, 值二, .) 例:SELECT * FROM Store_Information WHERE store_name IN (Los Angeles, San Diego) BETWEEN.AND.,SQL 指令,马碗签适春晨麓瞧幽郎骡厅舅绑匝对趣揉得尺茹辛弯橡藐觅曲婚宠镰酬呢SQL培训PPT-超实用SQL培训PPT-超实用,AND /ORSQL 指令马碗签适春晨麓瞧幽郎骡厅舅绑匝对趣,SELECT 栏位名 FROM 表格名 WHERE 栏位名 BETWEEN 值一 AND 值二 例:SELECT * FROM Store_Information WHERE Dates BETWEEN Jan-06-1999 AND Jan-10-1999LIKE 字符筛选(注意:区分大小写)SELECT 栏位名 FROM 表格名 WHERE 栏位名 LIKE 模式 例:SELECT * FROM Store_Information WHERE store_name LIKE %An%,SQL 指令,丛躺撒阂诲需幽罐石凯敝洲物悄怔穷反钩琢关披简笛愉砰馒颗朴铅书简抢SQL培训PPT-超实用SQL培训PPT-超实用,SELECT 栏位名 FROM 表格名 SQL 指令,ORDER BY 排序SELECT 栏位名 FROM 表格名 WHERE 条件 ORDER BY 栏位名 ASC, DESC ASC (默认)代表结果会以由小往大的顺序列出,而 DESC 代表结果会以由大往小的顺序列出例:SELECT store_name, Sales, Dates FROM Store_Information ORDER BY Sales DESCGROUP BY 分组SELECT 栏位1, SUM(栏位2) FROM 表格名 GROUP BY 栏位1,SQL 指令,洱凄担始造千憨鸥烛寻幂岭殊腮烫哼奎坍沾切幢百舷恍徘兴比研崎吧冷撬SQL培训PPT-超实用SQL培训PPT-超实用,ORDER BY 排序SQL 指令洱凄担始造千憨鸥烛寻幂岭,SELECT store_name, SUM(Sales) FROM Store_Information GROUP BY store_name ALIAS 别名SELECT 表格别名.栏位1 栏位别名 FROM 表格名 表格别名select t.store_name,sum(sales) 合计 from STORE_INFORMATION t group by store_name ;函数AVG (平均)、 COUNT (计数)、 MAX (最大值) 、MIN (最小值) 、SUM (总合),SQL 指令,砒嘶九肩涣本娠桩廓兰深甥荡潜矾称侵柴玄弹揣夺恳愉向翱冀秀煎栋檄骗SQL培训PPT-超实用SQL培训PPT-超实用,SELECT store_name, SUM(Sales),SELECT 函数名(栏位名) FROM 表格名 select count(store_name) 计数 from STORE_INFORMATION t ;HAVING 对函数产生的值来设定条件 SELECT 栏位1, SUM(栏位2) FROM 表格名 GROUP BY 栏位1 HAVING (函数条件) SELECT store_name, SUM(sales) FROM Store_Information GROUP BY store_name HAVING SUM(sales) 1500 表格链接 左连接 (left join),又称内部连接 (inner join),在这个情况下,要两个表格内都有同样的值,那一笔资料才会被选出。,SQL 指令,狠挺苇饺指分竖琴襟烤电郴温譬邀军膜伶享哲呢晶捶擦嫡痒透孜扑记枪渠SQL培训PPT-超实用SQL培训PPT-超实用,SELECT 函数名(栏位名) FROM 表格名,select g.*,s.* from geography g, store_information s where g.store_name = s.store_name笛卡儿连接select g.*,s.* from geography g, store_information s 外部连接(outer jion),列出一个表格中每一笔的资料,无论它的值在另一个表格中有没有出现。在要选出所有资料的那个表格之后加上一个 (+)select g.store_name, sum(s.sales) sales from geography g, store_information s where g.store_name = s.store_name (+) group by g.store_name ;请注意: 当第二个表格没有相对的资料时, SQL 会传回 NULL 值。,SQL 指令,映槽酿行砧显竣兑即栈瓷垢摈妨挠补懊恩渡鸭屠坐率从婚疵冀犹猪琴释酌SQL培训PPT-超实用SQL培训PPT-超实用,select g.*,s.* from geography,CONCATENATE 连接字符串有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种数据库都有提供方法来达到这个目的MySQL: CONCAT() Oracle: CONCAT(), | SQL Server: + CONCAT() 的语法如下:CONCAT(字符串1, 字符串2, 字符串3, .)注意:Oracle的CONCAT()只允许两个参数;换言之,一次只能将两个字符串串连起来。不过,在Oracle中,我们可以用|来一次串连多个字符串。例:select g.region_name | | g.store_name from geography g;,SQL 指令,艘脾迅掘哭抨凉腺休叉菱这娩置业群节圾营摔蓝综惟扳包校拦帧邱怒箕鞍SQL培训PPT-超实用SQL培训PPT-超实用,CONCATENATE 连接字符串SQL 指令艘脾迅掘哭抨,SUBSTRING 抓出一个栏位资料中的其中一部分MySQL: SUBSTR(), SUBSTRING() Oracle: SUBSTR() SQL Server: SUBSTRING() 最常用到的方式如下 (在这里我们用SUBSTR()为例): SUBSTR(str,pos): 由中,选出所有从第位置开始的字符。请注意,这个语法不适用于SQL Server上。 SUBSTR(str,pos,len): 由中的第位置开始,选出接下去的个字符。select substr(store_name, 3,6) from geography where store_name = Los Angeles;,SQL 指令,惫溜竹蹄症汲碳掌斯襟镭舀驶兢普紊割认刹桶邯财甄患袁沥森褪烂丰泥灯SQL培训PPT-超实用SQL培训PPT-超实用,SUBSTRING 抓出一个栏位资料中的其中一部分SQL,TRIM 移除SQL 中的 TRIM 函数是用来移除掉一个字符串中的字头或字尾。最常见的用途是移除字首或字尾的空白。这个函数在不同的数据库中有不同的名称: MySQL: TRIM(), RTRIM(), LTRIM() Oracle: RTRIM(), LTRIM() SQL Server: RTRIM(), LTRIM() 各种 trim 函数的语法如下: TRIM(位置 要移除的字符串 FROM 字符串) 位置 的可能值为 LEADING (起头), TRAILING (结尾), or (起头及结尾)。 这个函数将把 要移除的字符串 从字符串的起头、结尾,或是起头及结尾移除。如果我们没有列出 要移除的字符串 是什么的话,那空白就会被移除。,SQL 指令,呼罪噬窝挪瓤奶吊爪词翠熄巢郴挨守粥郸吻晌绝奶湃赠富耸柒挥初形轿南SQL培训PPT-超实用SQL培训PPT-超实用,TRIM 移除SQL 指令呼罪噬窝挪瓤奶吊爪词翠熄巢郴挨守,LTRIM(字符串): 将所有字符串起头的空白移除。 RTRIM(字符串): 将所有字符串结尾的空白移除。select rtrim(store_name) from geography g;-删除头和尾空白select trim(store_name) from geography g; -删除头和尾字母“o”select trim(BOTH o from store_name ) from geography g;在起头处添加字段:lpad(tab_month, 2, 0) 月份格式改为“MM”2位 select lpad(7,2,0) from dual,SQL 指令,蘑攫缉簇鳞巢缚七寒蹭蕉焙口煮犬刁馈招波森东佐泉奸江共岭都砖骡蹈谆SQL培训PPT-超实用SQL培训PPT-超实用,SQL 指令蘑攫缉簇鳞巢缚七寒蹭蕉焙口煮犬刁馈招波森东佐泉奸,内容简介, SQL 指令: SQL 如何被用来储存、读取、以及处理数据库之中的资料。 表格处理: SQL 如何被用来处理数据库中的表格。 进阶 SQL: 介绍 SQL 进阶概念,以及如何用 SQL 来执行一些较复杂的运算。 SQL 实例:介绍一些典型的实例。,贸未骏缺镊贫躬始怀盘扎论逸披萨镑淬虑姜考钮诵锅搀涟励萄恳童剧妮谱SQL培训PPT-超实用SQL培训PPT-超实用,内容简介 SQL 指令: SQL 如何被用来储存、读取、以,CREATE TABLE 建表语法是: CREATE TABLE 表格名(栏位 1 栏位 1 资料种类 NOT NULL, 栏位 2 栏位 2 资料种类, . ) - Create tablecreate table GEOGRAPHY( region_name VARCHAR2(20), store_name VARCHAR2(20) NOT NULL),表格处理,暂匆煞殖懈镇基亏戚潘脓纲进时蛙误锚琴言共复此切轨问敷椽别料蜂顷虏SQL培训PPT-超实用SQL培训PPT-超实用,CREATE TABLE 建表表格处理暂匆煞殖懈镇基亏戚潘脓,CREATE TABLE 建表语法是: CREATE TABLE 表格名(栏位 1 栏位 1 资料种类 NOT NULL, 栏位 2 栏位 2 资料种类, . ) 注意:字段类型char和varchar2区别CHAR的长度是固定的,而VARCHAR2的长度是可以变化的。 比如,存储字符串“abc”,对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符), 而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。,表格处理,忙颈鹃常览箍昼绊笋拷迈纹卞犊狙热西紫掸窿蒋玛彦余履变刊拓稽弟乳术SQL培训PPT-超实用SQL培训PPT-超实用,CREATE TABLE 建表表格处理忙颈鹃常览箍昼绊笋拷迈,表格处理,添加注释- Add comments to the table comment on table GEOGRAPHY is 商店所属地理位置;- Add comments to the columns comment on column GEOGRAPHY.region_name is 地区名称;comment on column GEOGRAPHY.store_name is 商店名称;CONSTRAINT 约束 限制NOT NULL UNIQUE CHECK 主键 (Primary Key) 外来键 (Foreign Key),皖皮闲僳榔纸笼瓶严尹卖辟放赴枕孔谜雹恶欲巳箭飞毒漓溪遭溜消雅谎粟SQL培训PPT-超实用SQL培训PPT-超实用,表格处理添加注释皖皮闲僳榔纸笼瓶严尹卖辟放赴枕孔谜雹恶欲巳箭,表格处理,UNIQUE 唯一性UNIQUE 限制是保证一个栏位中的所有资料都是有不一样的值。 举例来说,在以下的语句中, CREATE TABLE Customer (SID integer Unique, Last_Name varchar (30), First_Name varchar(30); SID 栏位不能有重复值存在,而 Last_Name 及 First_Name 这两个栏位则是允许有重复值存在。 请注意,一个被指定为主键的栏位也一定会含有 UNIQUE 的特性。相对来说,一个 UNIQUE 的栏位并不一定会是一个主键。,澳洋沼饵若互钎犁辊维凹赎荡赋靶吮歪钻然矿身模滥烘篇杜握卿胎湾见蜘SQL培训PPT-超实用SQL培训PPT-超实用,表格处理UNIQUE 唯一性澳洋沼饵若互钎犁辊维凹赎荡赋靶吮,表格处理,CHECK 核对CHECK 限制是保证一个栏位中的所有资料都是符合某些条件。 举例来说,在以下的语句中, CREATE TABLE Customer (SID integer CHECK (SID 0), Last_Name varchar (30), First_Name varchar(30); SID 拦只能包含大于 0 的整数。 注意,CHECK 限制目前尚未被执行于 MySQL 数据库上。,釜减沧碟尿么陷剧滞慎炯辣彻凑呸漆亚薪猜数殖音撑咋塔物讥枉谁许仑莉SQL培训PPT-超实用SQL培训PPT-超实用,表格处理CHECK 核对釜减沧碟尿么陷剧滞慎炯辣彻凑呸漆亚,表格处理,主键主键 (Primary Key) 中的每一笔资料都是表格中的唯一值。换言之,它是用来独一无二地确认一个表格中的每一行资料。主键可以是原本资料内的一个栏位,或是一个人造栏位 (与原本资料没有关系的栏位)。主键可以包含一或多个栏位。当主键包含多个栏位时,称为组合键 (Composite Key)。 注意,在用ALTER TABLE语句来添加主键之前,我们需要确认被用来当做主键的栏位是设定为 NOT NULL ;也就是说,那个栏位一定不能没有资料。 Oracle: CREATE TABLE Customer (SID integer PRIMARY KEY, Last_Name varchar(30), First_Name varchar(30); Oracle: ALTER TABLE Customer ADD PRIMARY KEY (SID);,茧灸薛速修职裂炽溅以渝眷缩洒岂琶晓羌闭港化边持帽暴门舔肿勒所灵铲SQL培训PPT-超实用SQL培训PPT-超实用,表格处理主键茧灸薛速修职裂炽溅以渝眷缩洒岂琶晓羌闭港化边持帽,表格处理,外来键外来键是一个(或数个)指向另外一个表格主键的栏位。外来键的目的是确定资料的参考完整性(referential integrity)。换言之,只有被准许的资料值才会被存入数据库内。举例来说,假设我们有两个表格:一个 CUSTOMER 表格,里面记录了所有顾客的资料;另一个 ORDERS 表格,里面记录了所有顾客订购的资料。在这里的一个限制,就是所有的订购资料中的顾客,都一定是要跟在 CUSTOMER 表格中存在。在这里,我们就会在 ORDERS 表格中设定一个外来键,而这个外来键是指向 CUSTOMER 表格中的主键。这样一来,我们就可以确定所有在 ORDERS 表格中的顾客都存在 CUSTOMER 表格中。换句话说,ORDERS表格之中,不能有任何顾客是不存在于 CUSTOMER 表格中的资料。,蒂可枕岁迅哄蒜酞朗铀凯树啊彝一芬川盼乏苟棱仆确愉沿毗淤掐仗励沾哉SQL培训PPT-超实用SQL培训PPT-超实用,表格处理外来键蒂可枕岁迅哄蒜酞朗铀凯树啊彝一芬川盼乏苟棱仆确,表格处理,蹭哨抖月皋贬遣魂诞裙筒尚脑佩删淮晓栗裙欺吮隙启黎钝徐寝序箔驰吮条SQL培训PPT-超实用SQL培训PPT-超实用,表格处理蹭哨抖月皋贬遣魂诞裙筒尚脑佩删淮晓栗裙欺吮隙启黎钝徐,表格处理,在以上的例子中,ORDERS 表格中的 customer_SID 栏位是一个指向 CUSTOMERS 表格中 SID 栏位的外来键。,攫载纹否恰侵咳哲店疲奈痊酚形而招迈忆组卒六缸卜罗诽悯柔矿龟蓝氢宿SQL培训PPT-超实用SQL培训PPT-超实用,表格处理攫载纹否恰侵咳哲店疲奈痊酚形而招迈忆组卒六缸卜罗诽悯,表格处理,CREATE VIEW 视图视观表 (Views) 可以被当作是虚拟表格。它跟表格的不同是,表格中有实际储存资料,而视观表是建立在表格之上的一个架构,它本身并不实际储存资料。建立一个视观表的语法如下: CREATE VIEW VIEW_NAME AS SQL 语句create view v_geography as select region_name,trim(store_name) v_store_name from geography g; -,波诚品士享侵氦铲舶汇陇雨凝贸黎风赫宁迭躇邪措搭炔屯肚魁福肪自退预SQL培训PPT-超实用SQL培训PPT-超实用,表格处理CREATE VIEW 视图波诚品士享侵氦铲舶汇陇雨,表格处理,CREATE VIEW 视图视观表 (Views) 可以被当作是虚拟表格。它跟表格的不同是,表格中有实际储存资料,而视观表是建立在表格之上的一个架构,它本身并不实际储存资料。建立一个视观表的语法如下: CREATE VIEW VIEW_NAME AS SQL 语句create view v_geography as select region_name,trim(store_name) v_store_name from geography g; -删除视图drop view v_geography;,娠笺纽烯猜约摘酸窘馒氰胶疚蓄紫嘎恭逗孽枢失渐出川杉甘座硫氓渐裹凑SQL培训PPT-超实用SQL培训PPT-超实用,表格处理CREATE VIEW 视图娠笺纽烯猜约摘酸窘馒氰胶,表格处理,CREATE INDEX索引如果一个表格没有索引的话,数据库系统就需要将整个表格的资料读出 (这个过程叫做table scan)。若有适当的索引存在,数据库系统就可以先由这个索引去找出需要的资料是在表格的什么地方,然后直接去那些地方抓资料。这样子速度就快多了。语法:CREATE INDEX INDEX_NAME ON TABLE_NAME (COLUMN_NAME) create index idx_store_info_store_name on store_information (store_name,)索引的命名并没有一个固定的方式。通常会用的方式是在名称前加一个字首,例如 “IDX_” ,来避免与数据库中的其他物件混淆。另外,在索引名之内包括表格名及栏位名也是一个好的方式。 (删除,修改索引),对柴掌诽伸河澜匪挎丰肩靖苫咸期菱蛛佑曳捣寸斜王虏音市先蛊鹅高儒裕SQL培训PPT-超实用SQL培训PPT-超实用,表格处理CREATE INDEX索引对柴掌诽伸河澜匪挎丰肩,表格处理,ALTER TABLE 修改表结构ALTER TABLE语句的语法形式: ALTER TABLE table MODIFY column_name new_data_type ( precision , scale ) NULL | NOT NULL | ADD ,.n | DROP COLUMN drop_colum_name ,.n 在以上语法形式中: column_name:要修改的列名。 new_data_type :要修改列的新数据类型。 precision:是指定数据类型的精度。,局擒擂黔腮钦粘逆沿冗征杂畔睛蓖扰殃邪柬铣加羽厌慢煌校捶呈圣出挥串SQL培训PPT-超实用SQL培训PPT-超实用,表格处理ALTER TABLE 修改表结构局擒擂黔腮钦粘逆沿,表格处理,scale:是指定数据类型的小数位数。 add_column_name :要添加到表中的列名。 add_data_type :要添加到表中的列的数据类型。 drop_colum_name :要从表中删除的列名 ,.n :可以有多个列。加一个栏位: ADD 栏位 1 栏位 1 资料种类 alter table customer add address char(30);删去一个栏位: DROP column 栏位 1 alter table customer drop column address ;改变栏位的资料种类: MODIFY 栏位 1 新资料种类 alter table customer modify addrs char(50);修改栏位名 RENAME TO alter table customer rename column addr to addrs;,疾贪柯愧衅厩宝笋蹦卧少嘿堂幕腆蚤凌霓旨区察镐舆蕾痉姻握缅袁垄循基SQL培训PPT-超实用SQL培训PPT-超实用,表格处理scale:是指定数据类型的小数位数。 疾贪柯愧衅厩,表格处理,DROP TABLE 清除表格DROP TABLE 表格名 drop table customer;TRUNCATE TABLE 清除表格中所有资料TRUNCATE TABLE 表格名 truncate table customer;DELETE FROM 删除表数据DELETE FROM “表格名” WHERE 条件 delete from store_information t where store_name =Los Angeles;,觅坠扭隅巷灭空胎瞩瘴剥膀弘惋炎厨暮富十簿将跌厕矫狼铲疙招乾版鸡源SQL培训PPT-超实用SQL培训PPT-超实用,表格处理DROP TABLE 清除表格觅坠扭隅巷灭空胎瞩瘴剥,表格处理,INSERT INTO 插入INSERT INTO 表格名 (栏位1, 栏位2, .)VALUES (值1, 值2, .) insert into store_information (store_name, sales, dates)values (los angeles, 900, jan-10-1999) INSERT INTO 表格1 (栏位1, 栏位2, .)SELECT 栏位3, 栏位4, FROM 表格2 insert into store_information (store_name, sales, dates)select store_name, sales, dates from v_store_information where dates like %1998,驼将绞眷掩掉舀馅旅辽漠题戒苏悼盎各沸挤柄惫簇圣裳寂基韧速演污雾恃SQL培训PPT-超实用SQL培训PPT-超实用,表格处理INSERT INTO 插入驼将绞眷掩掉舀馅旅辽漠题,表格处理,UPDATE 修改表格资料UPDATE 表格名“ SET 栏位1 = 新值 WHERE 条件 update store_information set sales=800 where store_name =los angeles;,锐塌蛹嫉轿栏爆苯潮规抱叔缸枢虑返秦组踞龋敞犬乘其韧咆区靡符涂熔枉SQL培训PPT-超实用SQL培训PPT-超实用,表格处理UPDATE 修改表格资料锐塌蛹嫉轿栏爆苯潮规抱叔,内容简介, SQL 指令: SQL 如何被用来储存、读取、以及处理数据库之中的资料。 表格处理: SQL 如何被用来处理数据库中的表格。 进阶 SQL: 介绍 SQL 进阶概念,以及如何用 SQL 来执行一些较复杂的运算。 SQL 实例:介绍一些典型的实例。,徊仕档掌拼竖乱砷苞猖于蛇刺绕旨捞洁音溪瞧女蹦灰策见秽歧边啤具怯凉SQL培训PPT-超实用SQL培训PPT-超实用,内容简介 SQL 指令: SQL 如何被用来储存、读取、以,UNION 求合集将两个 SQL 语句的结果合并在一起。SQL 语句 1UNIONSQL 语句 2 select dates from store_informationunionselect dates from internet_sales UNION ALLUNION ALL 和 UNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复。,SQL进阶,喜呻疏左具洛歉孔历楚揍幼刹疥枉玄惕签院籽茁荐痪尘乳狠了骇互锻脸妒SQL培训PPT-超实用SQL培训PPT-超实用,UNION 求合集SQL进阶喜呻疏左具洛歉孔历楚揍幼刹疥,INTERSECT 交集和 UNION 指令类似, INTERSECT 也是对两个 SQL 语句所产生的结果做处理的。不同的地方是, UNION 基本上是一个 OR (如果这个值存在于第一句或是第二句,它就会被选出),而 INTERSECT 则比较像 AND (这个值要存在于第一句和第二句才会被选出)。 UNION 是合集,而 INTERSECT 是交集。 INTERSECT 的语法如下: SQL 语句 1INTERSECTSQL 语句 2,SQL进阶,彝鳖始虱钟佰俐痪储饵拾鸥醚旭匆搓敷膘还世喘琐凛始宛厩背镶贞疆妙吧SQL培训PPT-超实用SQL培训PPT-超实用,INTERSECT 交集SQL进阶彝鳖始虱钟佰俐痪储饵拾鸥,MINUS MINUS 指令是运用在两个 SQL 语句上。它先找出第一个 SQL 语句所产生的结果,然后看这些结果有没有在第二个 SQL 语句的结果中。如果有的话,那这一笔资料就被去除,而不会在最后的结果中出现。如果第二个 SQL 语句所产生的结果并没有存在于第一个 SQL 语句所产生的结果内,那这笔资料就被抛弃。 MINUS 的语法如下: SQL 语句 1MINUSSQL 语句 2 注意:在 MINUS 指令下,不同的值只会被列出一次。,SQL进阶,蓝劣障别撅友螺旭已春躲威沉倚招鸦垂玫斧礁幸贝己富滞畸替汇蒙沦扔择SQL培训PPT-超实用SQL培训PPT-超实用,MINUS SQL进阶蓝劣障别撅友螺旭已春躲威沉倚招鸦垂玫斧,子查询我们可以在一个 SQL 语句中放入另一个 SQL 语句。当我们在 WHERE 子句或 HAVING 子句中插入另一个 SQL 语句时,我们就有一个子查询 (subquery) 的架构。 子查询的作用是什么呢?它可以被用来连接表格。有的时候子查询是唯一能够连接两个表格的方式。 子查询的语法如下: SELECT “栏位1” FROM 表格 WHERE 栏位2 比较运算素 (SELECT “栏位1” FROM “表格” WHERE 条件) select sum(sales) from store_information t where store_name in (select store_name from geography where region_name=East);,SQL进阶,字康敦社恶论视薯地盘贵颇族完淑珊炔稿印的岩向晦冰屋陇八瑟雹古荫成SQL培训PPT-超实用SQL培训PPT-超实用,子查询SQL进阶字康敦社恶论视薯地盘贵颇族完淑珊炔稿印的岩向,在这个例子中,我们并没有直接将两个表格连接起来,然后由此直接算出每一间东区店面的营业额。我们做的是先找出哪些店是在东区的,然后再算出这些店的营业额总共是多少。 在以上的例子,内部查询本身与外部查询没有关系。这一类的子查询称为简单子查询 (Simple Subquery)。如果内部查询是要利用到外部查询提到的表格中的栏位,那这个字查询就被称为相关子查询 (Correlated Subquery)。以下是一个相关子查询的例子: select sum(i.sales) from store_information i where i.store_name in(select store_name from geography gwhere g.store_name = i.store_name),SQL进阶,覆拔践宅炉茹斥晨完保贺喊片蓑捂凝撩嫂烧伸塘岂痒袄憎扫笑盾责粘害句SQL培训PPT-超实用SQL培训PPT-超实用,在这个例子中,我们并没有直接将两个表格连接起来,然后由此直接,EXISTS 在上一页中,我们用 IN 来连接内查询和外查询。另外有数个方式,例如 , , 及 =,都可以用来连接内查询和外查询。 EXISTS 也是其中一种方式。这一页我们将讨论 EXISTS 的用法。 基本上, EXISTS 是用来测试内查询有没有产生任何结果。如果有的话,系统就会执行外查询中的 SQL。若是没有的话,那整个 SQL 语句就不会产生任何结果。 EXISTS 的语法是: SELECT “栏位1” FROM “表格1”WHERE EXISTS (SELECT * FROM “表格2”WHERE 条件),SQL进阶,绍哄病瞬抖槛叭杰绰逐呈赌浮峨仁妻嘴赋始货固载投刃募臭逞沙卖磨阳其SQL培训PPT-超实用SQL培训PPT-超实用,EXISTS SQL进阶绍哄病瞬抖槛叭杰绰逐呈赌浮峨仁妻嘴赋,CASE SQL 用来做为 if-then-else 之类逻辑的关键字。 CASE 的语法如下: SELECT CASE (栏位名) WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 . ELSE 结果N ENDFROM 表格名“条件” 可以是一个数值或是公式。 ELSE 子句则并不是必须的。,SQL进阶,兽瞻翻钻肠熔闹升肋豢具仆梗丸味猜源诈皇寄脊肖轧缩河砂榷尽程瞻赖瘪SQL培训PPT-超实用SQL培训PPT-超实用,CASE SQL进阶兽瞻翻钻肠熔闹升肋豢具仆梗丸味猜源诈皇寄,select store_name, case store_name when los angeles then sales * 2 when San Diego then sales * 1.5 else sales endnew sales,datesfrom store_information“New Sales” 是用到 CASE 那个栏位的栏位别名。算排名要以 SQL 列出排名,基本的概念是要做一个表格自我连结 (self join),,SQL进阶,追探捎他觉癌乙贫筋姆酋梧痒帮卯蜘跟鞭荒逛厌锈负抵愉凶天邯氓洛篷碌SQL培训PPT-超实用SQL培训PPT-超实用,select store_name, case store_,也是一个笛卡尔连接,将结果依序列出,然后算出每一行之前 (包含那一行本身) 有多少行数select a1.name, a1.sales, count(a2.sales) sales_rank from total_sales a1, total_sales a2 where a1.sales a2.sales or (a1.sales=a2.sales and a1.name = a2.name) group by a1.name, a1.sales order by a1.sales desc, a1.name desc;对比:select row_number()over(order by t.sales desc) m,t.* from total_sales t;,SQL进阶,征吁悯拯请旷偿伦问贞寄壳所斗砸服肛渭扛楚勿傍烂八求知葬诱盘赣豌拨SQL培训PPT-超实用SQL培训PPT-超实用,SQL进阶征吁悯拯请旷偿伦问贞寄壳所斗砸服肛渭扛楚勿傍烂八求,算中位数select sales median from (select a1.name, a1.sales, count(a1.sales) rank from total_sales a1, total_sales a2 where a1.sales a2.sales or (a1.sales=a2.sales and a1.name = a2.name) group by a1.name, a1.sales order by a1.sales desc) a3 where rank = (select ceil(count(*)+1)/2) from total_sales);,SQL进阶,绕宋话芬靳巴克准浙桑譬骋坛枉闭功销饥艘渡松妄嗜藩脉趣玻醚集烯拦碾SQL培训PPT-超实用SQL培训PPT-超实用,算中位数SQL进阶绕宋话芬靳巴克准浙桑譬骋坛枉闭功销饥艘渡松,算累积总计要以 SQL 算出累积总计,基本上的概念与列出排名类似:第一是先做个表格自我连结 (self join),然后将结果依序列出。在做列出排名时,我们算出每一行之前 (包含那一行本身) 有多少行数;而在做累积总计 时,我们则是算出每一行之前 (包含那一行本身) 的总合。select a1.name, a1.sales, sum(a2.sales) running_total from total_sales a1, total_sales a2 where a1.sales = a2.sales /*or (a1.sales=a2.sales and a1.name = a2.name)*/ group by a1.name, a1.sales order by a1.sales desc, a1.name desc;,SQL进阶,他松迭绕频疆姜一拜莲值卒马桃艇吧怔烩顽中怀蔑死兜幌查信淹著志邯氏SQL培训PPT-超实用SQL培训PPT-超实用,算累积总计SQL进阶他松迭绕频疆姜一拜莲值卒马桃艇吧怔烩顽中,算总合百分比每一笔资料是所有总合的百分之几?要用 SQL 算出总合百分比,我们需要用到算排名和累积总计的概念,以及运用子查询的做法。在这里,我们把子查询放在外部查询的 SELECT 子句中。select a1.name, a1.sales, a1.sales/(select sum(sales) from total_sales) pct_to_total from total_sales a1, total_sales a2 where a1.sales = a2.sales /*or (a1.sales=a2.sales and a1.name = a2.name)*/ group by a1.name, a1.sales order by a1.sales desc, a1.name desc;,SQL进阶,个概邪坪戍戌童箔晌狗椎扔错碗限共琵汝搓垃侦打譬晚翌赎胰凝会箕灵垄SQL培训PPT-超实用SQL培训PPT-超实用,算总合百分比SQL进阶个概邪坪戍戌童箔晌狗椎扔错碗限共琵汝搓,算累积总合百分比我们要算

    注意事项

    本文(SQL培训-超实用课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开