目录

一 、分组查询

二、 连接查询

三、 DDL


一 、分组查询

分组查询是对原始数据进行分组之后在对分组后的数据进行统计。

关键词: group by

举个栗子

查询每类图书的数量

select tid 订单编号, count(*)数量  from book

group by tid;

group by 后面接的tid 与 select 后面的tid一样,这句话的意思就是在book这个列表中 我们要对tid进行分组,并起别名 订单编号 然后再去查 每一类图书的数量。

查询每类图书中价格在20以上的图书编号和数量

select  tid 订单编号,count(*)数量  from  book

where bprice>20

group by tid;

查询图书数量超过2本的图书编号和数量

select tid 图书编号,count(*)数量 from book

group by tid

having count(*)>3;

我们来比较一下 where和having 区别

其中 where子句 是用来筛选 from 子句中指定操作所产生的行

group by 子句用来分组  where子句的输出

having 是从分组的结果进行筛选行

因此看一下书写顺序

(1)select (2)from(3)where(4)group by (5)having (6)order by

看一下语句执行顺序

(1)from(2)where(3)group by(4)having(5)select0(6)order by

二、连接查询

通过表之间连接条件(主外键关系),从表中获取数据。

连接查询分为内连接和外连接

(1)内连接 语法 inner join  on

通过两个表的连接的区域,也就是所谓的交集。

语法:select 列名(来自多张表)from  表1  inner join  表2   on  连接条件   where 查询条件

例如 :查询图书表和图书分类的所有信息

select type.*,book.*   from  type  inner  join  book  on  type.id=book.tid

这是两个表的

那我们再看看三个表连接(多表查询:查询学生姓名,科目及考试成绩)

select  studentname ,subjectname  ,studentresult   from   student   inner join    result  r   on s.studentno= r.studentno    inner join     subject sub    on    r.subjectid=sub.subjectid;

翻译 从student result subject 三个表中去查询 studnetname subjectname  studentresult 通过

s.studentno= r.studentno,r.subjectid=sub.subjectid;相等去连接。

(2)外连接

上图是左外连接

左外连接a left join b ......on =  b right join a .........on后加两表连接条件

右外连接a right join  b .....on =b left join a  ........ on后加两表连接条件

下图是右外连接

(3)子查询

子查询 是一个嵌套在select,insert ,update ,delete 语句或其他子查询的查询。挺重要的

语法:select....from 表1 where 字段1 比较运算符(子查询)

先执行小括号的子查询,在执行外面的父查询,返回查询的结果。

注意:将子查询和比较运算符联合使用,必须保证子查询返回的值不能多于一个。

举个栗子

查询和张三是同一个地址的学员信息

select * from student  where address=(select address from student where studentname='张三')

先找到张三的地址,将张三的地址传入 就能找到和张三是同一个地址的学员信息。

三、DDL

(1)数据库操作

创建数据库:                                 删除数据库

create database  数据库名;         drop database  数据库名;

创建表                                            删除表

create table 表名                            drop table 表名

(2)创建数据表

约束:

主键约束: primary key

唯一约束:unique

默认值约束:default

检查约束:check

外键约束:foregin key

非空约束:not  null

标识列:identity

在表建好之后,想要添加约束,这是我们可以用代码了。

语法: alter table  表名 add  constraint 约束名()具体的约束条件

具体来看看栗子吧

外键约束( foreign key constraint );用于两张表之间的联系,应该指定主键是那个
alter   table   表名   add   constraint   (fk_字段名字)  foreign key  外键的字段  reference(来自)  主键的表名  主键的列名 我们老师就主要讲这个了。

SQL-Server 零基础入门教程[下]相关推荐

  1. sql数据库教程百度云_绘画自学零基础入门教程|五天学会绘画pdf百度云下载!...

    绘画自学零基础入门教程|五天学会绘画pdf百度云下载!画画是可以让人留存记忆的事情.我自己就很喜欢画画来记录生活中一些特别的日子.场景还有我的家人朋友们.有时候,比照片更有故事感和纪念意义-有空拿出来 ...

  2. python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)

    一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...

  3. SEO零基础入门教程(外链的发布和软文编写)

    seo的作用是众所周知的,对网站进行seo优化,可以给网站带来大量的搜索引擎流量.但是想要做好网站优化也有难度,尤其是对于seo新手来说,因为缺乏理论和实战,所以seo新手需要多加练习.那么具体seo ...

  4. SEO新手入门,SEO零基础入门教程,新手做SEO怎么做

    seo的作用是对网站进行seo优化,可以给网站带来大量的搜索引擎流量.但是想要做好网站优化也有难度,尤其是对于seo新手来说,因为缺乏理论和实战,所以seo新手需要多加练习.那么具体seo新手入门应该 ...

  5. C语言 const 修饰函数参数 - C语言零基础入门教程

    C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...

  6. Python零基础入门教程( 快速入门)

    前言 学无止境,无止境学. 今天要给大家分享的是<Python零基础入门教程01 快速入门>,这是一个系列的教程,从零基础到项目实战.在本教程中,我会给大家介绍Python入门的一些基础知 ...

  7. C++零基础入门教程:基础篇(一)

    前言 嘿嘿,我叕来啦─=≡Σ(((つ•̀ω•́)つ!别问我为什么突然变成了零基础入门教程(一),因为前面那三篇都是基础的不能在基础的教程了.(其实是因为顺序乱了,而且那时候没有单独弄一个专栏,后面我会 ...

  8. 周易零基础入门教程(一)

    感觉这几篇简单的教程很不错哦.大概由于以前看过这类书籍,估计也是很零散的,所以我读这几篇感觉很亲切,没啥难点,一口气读完了,醍醐灌顶.接下来就是自己慢慢琢磨的节奏了! 周易零基础入门教程 作者:江南易 ...

  9. 视频教程-Python零基础入门教程-Python

    Python零基础入门教程 从2012年从事互联网至今有7年软件编程经验,曾任职国内北京互联网公司,中南林业大学授课Python 现任逻辑教育Python课程负责人,精通Python语言,精通人工智能 ...

最新文章

  1. Linux安装HDF5及遇到的问题总结
  2. 查找 之 散列表查找(哈希表)
  3. 【AI不惑境】模型量化技术原理及其发展现状和展望
  4. 剪映导出帧率选多少_剪映帧率怎么设置?剪映帧率设置方法
  5. SpringCloud工作笔记035---Zuul网关异常:com.netflix.zuul.exception.ZuulException: Forwarding error
  6. Overview of HEVC之2 Slices and Tiles
  7. 重新安装MySQL5.7.21教程_CentOS6.9安装mysql5.7.21教程
  8. ASP.NET的路由系统
  9. 30分钟一部动画短片!从MMD入门3D世界,边玩边学的3D教程!(一)“MMD快速入门教程CSDN”
  10. UML用例图的画法详细介绍【软件工程】
  11. Python数据处理及分析详解
  12. 科学计算与仿真-高斯牛顿法的非线性最小二乘问题简单介绍与应用
  13. javaScript前端上传文件到腾讯云(对象存储)
  14. Your brain expands and shrinks over time — these charts show how
  15. 网络安全kali渗透学习 web渗透入门 使用msf扫描靶机上mysql服务的空密码
  16. 华为IT总监离职时给大家写了一封告别信(ZT)
  17. Mac 卸载/安装 maven
  18. 官宣, CSDN 2018博客之星获奖名单!
  19. 常用汉字的UNICODE和对应的繁体字
  20. 用豆瓣源安装pytorch1.5.1(速度很快)

热门文章

  1. 可位寻址与不可位寻址
  2. pyhon编码问题之由 u'\uxxx' 转 \uxxx
  3. 【樂理】中國古典音樂樂理
  4. 登录密码加密,RSA加密算法
  5. WPF中Mvvm模式的理解
  6. 租的房子里有无线路由器有ip和dns服务器无密码可以联网吗,没网怎么设置路由器?...
  7. [原创]找小丑-你要做小丑,还是主宰小丑的那个?
  8. Java猪人刷怪塔_我的世界:经验不够怎么办?MC6大快速升级方法,养鸡也行?...
  9. 【毕业设计】Java ssm+vue酒店管理系统
  10. 华为手机怎么刷android系统,怎样刷入安卓原生系统 在手机系统更新这件事上,小米华为和OPPOvivo谁更有良心...