4--1--数据库基础重点.ppt

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sql中的去重复数据 distinct 去除重复的行 比较 select sort_id from es_product Select distinct id from es_product 也可用于统计函数中 Select count(usex) from es_user Select count(distinct usex) from es_user 分组查询—对比 WHERE GROUP BY HAVING WHERE子句从数据源中去掉不符合其搜索条件的数据 GROUP BY子句搜集数据行到各个组中,统计函数为各个组计算统计值 HAVING子句去掉不符合其组搜索条件的各组数据行 分组查询—思考 SELECT 部门编号, COUNT(*) FROM 员工信息表 WHERE 工资 = 2000 GROUP BY 部门编号 HAVING COUNT(*) 1 思考:分析以下SQL的含义 多表联结查询—问题 商品表中只存储了分类的编号,没有分类的名称; 分类的名称存在分类表中 如何同时从这两个表中取得数据? 多表联结查询—分类 内联结(INNER JOIN) 外联结 ——左外联结 (LEFT JOIN) ——右外联结 (RIGHT JOIN) ——完整外联结(FULL JOIN) 交叉联结(full JOIN) SELECT S.SName,C.CourseID,C.Score From Score AS C INNER JOIN Students AS S ON C.StudentID = S.SCode Score StudentsID CourseID Score 1 2 2 3 001 001 002 002 97 89 67 76 3 003 81 猜一猜:这样写,返回的查询结果是一样的吗? SELECT S.SName,C.CourseID,C.Score From Students AS S INNER JOIN Score AS C ON C.StudentID = S.SCode 再猜一猜:以下返回多少行? SELECT S.SName,C.CourseID,C.Score From Students AS S INNER JOIN Score AS C ON C.StudentID S.SCode 多表联结查询—内联结-1 Stundents SName 梅超风 陈玄风 陆乘风 曲灵风 SCode 1 2 3 4 查询结果 SName 梅超风 陈玄风 陈玄风 陆乘风 CourseID Score 001 001 002 002 97 89 67 76 陆乘风 003 81 多表联结查询—内联结-2 SELECT sortname,name,price from es_sort inner join es_product On es_sort.id=es_product.sort_id 复杂的查询最好给表起一个别名,减少sql长度,还可以区分每个结果列的来源 SELECT id,s.sortname,,p.price from es_sort s inner join es_product p On s.id=p.sort_id这个能执行? 多表联结查询—三表联结 SELECT S.SName AS 姓名, CS.CourseName AS 课程, C.Score AS 成绩 FROM Students AS S INNER JOIN Score AS C ON (S.SCode = C.StudentID) INNER JOIN Course AS CS ON (CS.CourseID = C.CourseID) Score StudentsID CourseID Score 1 2 2 3 001 001 002 002 97 89 67 76 3 003 81 多表联结查询—左外联结 Stundents SName 梅超风 陈玄风 陆乘风 曲灵风 SCode 1 2 3 4 查询结果 SName 梅超风 陈玄风 陈玄风 陆乘风 CourseID Score 001 001 002 002 97 89 67 76 陆乘风 003 81 曲灵风 NULL NULL SELECT S.SName,C.CourseID,C.Score From Students AS S LEFT JOIN Score AS C ON C.StudentID = S.SCode 猜一猜:这样写,返回的查询结果是一样的吗? SELECT S.SName,C.CourseID,C.Score From Score

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档