--关系数据库 T-SQL 
--SQL:struct结构 query查询  language语言     结构化查询语言 
--Oracle MySQL SQLServer

--SQL博大精深   DBA数据库工程师
--知识点:
--1语法 
--2函数
--3SQL语法

--sql语法规范:所有关键字大写的  用户自定义的根据用户实际情况来 但是数据库不区分大小写

--四大基本语句
--查询
select * from 表名
--添加
insert into 表名(列名1,列名2,列名3) values('数据1','数据2','数据3 ')
--添加的特殊写法:约束性较强1)字段顺序必须和表的一样  2)所有字段都需要赋值,缺一不可(标识列不算)
insert into 表名  values('数据1','数据2','数据3 ')

---------千万小心:在写更新语句和删除语句的时候一定要检查条件。(只为了避免删库跑路发生)
--删除
delete from 表名 where 条件
--更新
update 表名 set 想要更新的列='数据'  where 条件

--条件查询   where
select * from 表名 where 条件

--多个条件   and    or
SELECT * FROM 表名 WHERE ID=2 AND Name='王明'
SELECT * FROM 表名WHERE ID=2 OR Name='王明111'

--top 查询
SELECT TOP 5 * FROM 表名
SELECT * FROM 表名LIMIT 5 --mysql

--ORDER BY 排序   
--ASC   升序 从小到大
--DESC  降序 从大到小
SELECT * FROM 表名ORDER BY Name DESC
SELECT * FROM 表名ORDER BY Name ASC

--语句分为5个阶段

结果集部分   表部分    条件部分       排序部分     分组部分

--like 模糊匹配
SELECT * FROM 表名 WHERE Name LIKE '王%'
SELECT * FROM 表名 WHERE Name LIKE '%二'
SELECT * FROM 表名 WHERE Name LIKE '%王%'

-- between and 范围检索 包含1和5
SELECT * FROM 表名 WHERE DistrictID Between 1 AND 5
SELECT * FROM 表名 WHERE DistrictID>=1 AND DistrictID<=5

-- in  和not in  存在包含
SELECT * FROM 表名 WHERE DistrictID NOT IN(1,2,3)

--CASE WHEN THEN END  多种值的一个判断
SELECT *, (CASE  Gendar WHEN 1 THEN '女' WHEN 0 THEN '男' END) AS GendarText  FROM 表名

--聚合函数
--聚合函数只能查询单一字段,不能得到该条数据的完整数据
sum  avg  max min
SELECT sum(Id) FROM 表名
SELECT avg(Id) FROM 表名
SELECT MAX(Id) FROM 表名
SELECT min(Id) FROM 表名
SELECT COUNT(1) FROM 表名
--group by  分组语句  将数据分组然后进行统计
--根据什么字段group by 那么你的select后面就只能有这个字段,聚合函数可以出现在group by 的select后面
SELECT Gendar,MAX(ID) from Student GROUP BY Gendar

--联合查询语句
--1确定你主表Student  查学生   附带要地区名字

--2确定关系两表之间的关系  Student(DistrictID)    S_Distrcit(Distrcit_ID)

--3确定你要的字段   Id Name Phone DistrictName
SELECT  s.*, d.DistrictName  
FROM  Student s INNER JOIN S_District  d
ON s.DistrictID=d.DistrictID

--INNER JOIN:要求数据必须能够关联起来,如果不能关联则数据不会被显示出来
SELECT s.*,c.class_name FROM Student as s inner join Classes  c on c.id=s.ClassID
--LEFT JOIN:以左侧表为主表,主表中有多少条数据就显示多少条数据,能关联则显示关联信息,不能关联则显示为NULL
SELECT s.*,c.class_name FROM Student as s left join Classes  c on c.id=s.ClassID
--RIGHT JOIN
SELECT s.*,c.class_name FROM  Classes  c right join Student as s on c.id=s.ClassID

--UNION 合并  注意:合并的时候两个类数据类型必须相同
SELECT Name,ID FROM Student
UNION
SELECT class_name,id FROM Classes

--UNION ALL
SELECT Name FROM Student
UNION ALL
SELECT class_name FROM Classes

--select into 查询插入表  注意:是一张新表
SELECT TOP 10 ProvinceName INTO Student_Test  FROM S_Province

--insert into select ... 将一段查询结果插入到另一张表中
----查询省份表的前10个省份名  然后把它插入到学生表中的Name字段中

INSERT INTO Student(Name)     SELECT TOP 10 ProvinceName  FROM S_Province

--需求1:将1月和2月的订单数据  导入到一张order表中
--需求2:将1月的数据插入到2月的表中
   
--面向集合编程
SELECT t.*  INTO [Order]   from  (SELECT  number,price,create_time FROM order_01
                            UNION ALL
                            SELECT number,price,create_time FROM Order_02) t
                            
INSERT INTO Order_02(number,price,create_time)  SELECT number,price,create_time FROM order_01

--distinct 去重
--注意:需要整个结果集行中的所有字段都相同

SELECT DISTINCT  number,price FROM [Order]
 
SELECT number FROM [Order]

--子查询:结果集 将一个查询结果当成一个表
--请查出省份表的所有数据,并且得到每个省份的城市数量

SELECT top 10 s.ProvinceName,s.ProvinceID,

(SELECT COUNT(1) FROM S_City c WHERE c.ProvinceID=s.ProvinceID)     CityCount

FROM S_Province  s

--请查出城市表中  ID 不为1,2,3,4,5的前5条数据

SELECT TOP 5  * FROM S_City WHERE CityID NOT IN (SELECT TOP 5 CityID FROM S_City )

--having:条件查询 作用于聚合函数中的条件查询
--请查出所有学生的总成绩 且总成绩大于60分的学生
SELECT s_id,SUM(s_score) as all_score FROM Score   GROUP BY s_id having  SUM(s_score)>=60

--语句分为5个阶段

结果集部分   表部分    条件部分       排序部分     分组部分

--exists:验证结果集是否存在的   存在则结果为true  不存在则为false

select ProvinceName from S_Province where   exists (select top 1 ProvinceName from S_Province where ProvinceName='北京市' )

--查询省份数据  要求他的名字不为北京市
SELECT PROVINCENAME FROM S_Province WHERE ProvinceName not in ('北京市')

sqlserver--基础语句相关推荐

  1. SQLserver基础--语句、存储过程(七)

    [随堂练习]--查询'李数'老师教的数学成绩大于80分的学生的信息, 并且人数大于3的话,输出达标:否则输出不达标. 存储过程 --带参数的程序代码块---代表执行命令存储在数据库中,存储代码,没有调 ...

  2. sqlserver sql语句|经典sql语句|实用sql语句

    sqlserver sql语句|经典sql语句|实用sql语句 一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop databa ...

  3. SQLServer基础语法大全(基础篇)

    SQLServer基础语法 一.插入语句 1. 普通插入 2. 表数据查询(复制)插入 二.查询语句 1. 所有数据查询 2. 根据某条件查询前多少条数据 三.更新语句 1. 单表数据更新 2. 多表 ...

  4. mysql 截断表_入门MySQL——基础语句篇

    前言: 前面几篇文章,我们介绍了MySQL的基础概念及逻辑架构.相信你现在应该有了自己的一套MySQL环境,接下来我们就可以开始练习MySQL了.本文将从MySQL最基础的语句出发,为你展示出创建及修 ...

  5. vba 不等于_EXCEL中VBA基础语句(1)

    萌二笔记分类目录及书单 一.If-Then语句 说明:条件判断,如果......那么......例1:A2单元格的成绩大于等于60,则弹出对话框提示"及格". Sub 判断成绩() ...

  6. mysql数据库基础语句讲解

    mysql数据库基础讲解 一.数据库客户端命令 二.数据库基础sql语句 三.数据表基础语句 四.数据的增删改查(重点) 切记sql语句之后一定要加 ; 一.数据库客户端命令 1.mysql: mys ...

  7. JavaScript的基础语句整理

    JavaScript的基础语句整理 文章目录 JavaScript的基础语句整理 一.JavaScript的输出 二.JavaScript的基础语句 2.JavaScript语句的关键词 总结 大部分 ...

  8. vip2-day22 MySQL 基础语句

    MySQL 8 新特性 数据字典:包含一个事务数据字典,用于储存有关数据库对象的信息.在之前的版本中,字典数据存储在元数据文件和非事务表中. 原子数据定义语句:支持原子数据定义语言(DDL). DDL ...

  9. MYSQL数据库 增删改查基础语句

    MYSQL数据库 增删改查基础语句 **********************DDL 语句 *********************   ( DDL 是数据定义语言的缩写,简单的说,就是对数据库内 ...

  10. SQL常用基础语句(SQL常用增删改查语句及案例)

    一.添加数据 语法: * insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n); 注意: (1) 列名和值要一一对应. (2) 如果表名后,不定义列名, ...

最新文章

  1. 【Java 并发编程】线程锁机制 ( 线程安全 | 锁机制 | 类锁 | 对象锁 | 轻量级锁 | 重量级锁 )
  2. 多标签文本分类 [ALBERT](附代码)
  3. vue安装教程及简介
  4. 操作系统 内存管理相关知识
  5. accept标头 php,如何在PHP中读取任何请求标头
  6. Bootstrap 分页导航的对齐方式
  7. 设计模式——通过简单工厂模式推出工厂方法模式
  8. CentOS 7 Docker部署phpMyAdmin网站
  9. Python 必备要点总结及环境搭建(上)
  10. STL中容器的介绍及分类
  11. java Socket(TCP)编程小项目
  12. PMP课程笔记:第6章 项目进度管理
  13. kali下生成木马的工具
  14. Thrift 在Windows环境下的编译与简单C++应用
  15. 【java】微信支付生成签名的过程
  16. 第四章分支结构程序设计
  17. stm32f407zgt6与stm32f407vet6的通用io口差别
  18. 交换机怎么用计算机配置,配置交换机,详细教您怎么配置交换机
  19. 如何用 CSS 实现三角形
  20. 真正可以根治高度近视眼的方法(转载)

热门文章

  1. java子类的子类_java中的子类是什么
  2. 推荐《创京东》——做市场的同学,应该读一下
  3. Python爬取每路公交信息
  4. 数据库聚簇索引和非聚簇索引,页分裂的介绍及会产生的问题(整理自网络)
  5. 关于fi dd ler 手机抓包 网卡地址地址_安卓手机:隔空安装应用...
  6. Windows 11 系统镜像 泄露修复版(修复PE/实体电脑可装)
  7. go-cqhttp帮助文档
  8. 柏链道捷首期“PDJ区块链极客马拉松”:靠谱的区块链项目这样来发掘和开发
  9. 浪潮信息以新型云基础设施赋能新能源行业 助力行业发现新动能
  10. Word控件Spire.Doc 【段落处理】教程(六):如何在word文档中设置段落间距