20190412 T-SQL语言二
Use xsxk;
WITH c_count(id,xb,rs)
AS (SELECT 班级,性别,count(*)
FROM XS GROUP BY 班级,性别 )
SELECT * FROM c_count
-- WITH 的意义
SELECT * INTO #Tem
FROM XS
SELECT *
FROM #Tem
SELECT *
FROM #Tem T
WHERE T.出生日期 BETWEEN '1995-02-09' AND '1995-02-19' -- OK
SELECT TT.学号, CASE WHEN 总学分>60 THEN '优秀' ElSE '不太好' END AS 级别
FROM #Tem TT
SELECT *
FROM [dbo].[Test_2019_t]
SELECT * INTO #Test
FROM [dbo].[xs]
SELECT *
FROM #Test
-- 1. Between…And
SELECT *
FROM XS
WHERE 出生日期
between '1995-02-09' and '1995-07-02'
order by 出生日期 desc
SELECT *
FROM XS
WHERE 总学分
--between 10 and 20
IN (20,21)
order by 总学分 asc
-- 2. IS NULL
SELECT *
FROM XS
WHERE 备注 IS NULL;
-- 3. TOP
SELECT TOP 10 *
FROM XS
-- 4. UNION 去重的作用 -- UNION ALL
SELECT 姓名,学号 -- 表1
FROM xs
UNION
SELECT 姓名,学号 -- 表2 链接起来-- 表三的感觉,
FROM xs3
ORDER BY 学号 ASC
-- UNION --
--表3
SELECT 姓名,学号 -- 表1
FROM xs
WHERE 学号='14311001'
INSERT INTO xs3(姓名,学号)
VALUES('杨天','14311001')
-- 嵌套查询
SELECT 学号 -- 表1
FROM xs3
WHERE 学号='14311001'
SELECT *
FROM XS
WHERE 学号 IN ( SELECT 学号 -- 表1
FROM xs3 ) --('','')
-- inner join
-- left join
-- right join
SELECT *
FROM XS t1
INNER JOIN XS3 t2
ON t1.学号=t2.学号
SELECT *
FROM XS t1
RIGHT JOIN XS3 t2
ON t1.学号=t2.学号
-- 表跟表之间的一个关联关系
use xsxk
select *
from XS3
--
-- CASE WHEN THEN ELSE
SELECT 学号,CASE WHEN 总学分>19 THEN '优秀' ELSE '良' END AS 成绩
FROM XS
-- UPATE
SELECT *
FROM XS3
UPDATE XS3
SET 姓名='xx' ,出生日期='1991-04-05'
WHERE 学号='14341001'
-- 更新
-- 删除
DELETE FROM XS3
WHERE 学号='14311001' -- IN () ,IN
-- INSERT
-- 创建视图 --命令创建
CREATE VIEW view_xs1
AS SELECT 学号,姓名 FROM XS -- 块
-- 1
--2
--3
GO
SELECT *
FROM view_xs1
-- 修改 视图 ALTER 修改
-- DROP
DROP VIEW [dbo].[View_SS] --修改
-- View Insert
SELECT * FROM xs
INSERT INTO view_xs1
VALUES('10000007','王二'); -- 思考,如果我的视图内部有两个以上的表,3,4 ,
-- Insert 思考
SELECT *
FROM view_xs1
UPDATE view_xs1 SET 姓名='ts'
--SELECT * FROM view_xs1
WHERE 学号 = '10000007' --保证条件正确性
SELECT * FROM view_xs1
DELETE view_xs1
WHERE 学号 = '10000007'
SELECT COUNT(*) FROM xs
-- 存储过程
CREATE PROCEDURE QuerT
AS
SELECT * FROM XS
CREATE PROCEDURE Quer @xh char(10)
AS
SELECT * FROM xs WHERE 学号=@xh
-- 如何使用
EXEC [dbo].[QuerT]
EXEC [dbo].[Quer] '14311001' -- 传参数
EXEC sp_helptext Quer
-- 存储过程的查看
-- sp_rename Quer,Quer_NEW --重命名
--
DROP PROCEDURE QuerT
20190412 T-SQL语言二的更多相关文章
- SQL语言(二)
SQL约束与策略 create table student( id int primary key, //主键约束 name ) not null, //非空约束 idCard ) unique, / ...
- [SQL]SQL语言入门级教材_SQL数据操作基础(二)
SQL数据操作基础(初级) netnova 于 -- :: 加贴在 数据库探讨: 为了建立交互站点,你需要使用数据库来存储来自访问者的信息.例如,你要建立一个职业介绍服务的站点,你就需要存储诸如个人简 ...
- 数据库与SQL语言
数据库(DB) :长期储存在计算机中.有组织.可共享的数据的集合. 特点:(1)数据按一定的数据模型组织.描述和储存:(2)较小的冗余度:(3)数据独立性较高:(4)易扩展:(5)可共享(不同用户可按 ...
- [SQL]SQL语言入门级教材_跟我学SQL(六)
跟我学SQL:(一)数据查询 且不说你是否正在从事编程方面的工作或者不打算学习SQL,可事实上几乎每一位开发者最终都会遭遇它.你多半还用不着负责创建和维持某个,但你怎么着也该知道以下的一些有关的SQL ...
- [SQL]SQL语言入门级教材_SQL语言快速入门(五)
SQL语言快速入门(一) SQL是英文Structured Query Language的缩写,意思为结构化查询语言. SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标 ...
- [SQL]SQL语言入门级教材_SQL语言基本语句介绍(四)
SQL语言基本语句介绍 • 表的建立 关系数据库的主要特点之一就是用表的方式组织数据.表是SQL语言存放数据.查找数据以及更新数据的基本数据结构.在SQL语言中,表有严格的定义,它是一种二维表,对于这 ...
- SQL语言知识点总结
1.DQL.DML.DDL.DCL的概念与区别 一.SQL(Structure Query Language)语言是数据库的核心语言. SQL的发展是从1974年开始的,其发展过程如下: 1974年- ...
- sql语言不经常用,复习
sql语言不经常用,每次再用都隔好久的时间,以致最基本的都想不起来了,只好转一篇记着= - 找的时候方便 SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) ...
- SQL入门(4): 嵌入式SQL语言
本节讲述内容: 1.嵌入式SQL 语言概述 2.变量声明与数据库连接 3.数据集与游标 4.可滚动游标与数据库的增删改 5.状态捕捉以及错误处理机制 (一)嵌入式SQL语言 之前我们所学的都是交互式S ...
- SQL语言:DDL/DML/DQL/DCL
SQL (Structure Query Language)语言是数据库的核心语言. SQL 的发展是从1974年开始的,其发展过程如下: 1974年-----由Boyce和Chamberlin提出, ...
随机推荐
- SQL格式化插件—SQL Pretty Printer
在SQL Server中我们经常需要编写各种SQL脚本,例如存储过程和函数等,由于在编写过程中,经常会进行调整,格式很乱,可读性很差.对于有强迫症的人来说,看这样的代码非常痛苦,必须要手动对代码进行格 ...
- windows nginx配置https访问
本文主要记录在windows下安装nginx 环境:win10-64位. 1. 到nginx官网上下载相应的安装包,http://nginx.org/en/download.html: 下载进行解压 ...
- 为什么要使用NoSQL
转载自:http://www.infoq.com/cn/news/2011/01/nosql-why [编者按]NoSQL在2010年风生水起,大大小小的Web站点在追求高性能高可靠性方面,不由自主都 ...
- kafka调试工具kafkacat的使用
一. 安装 kafkacat 是基于kafka C语言的librdkafka库的 kafka客户端,不依赖java,小巧轻便,支持主流系统.在高版本的debain.Ubuntu下可以直接apt-get ...
- Js 跳出两级循环的方法
做过一个复杂的验证方法,需要两层each验证之后反正报错的信息.因为双重循环的问题,纠结了很久. /** * 验证input 的值 是否输入 flg:验证成功 false:验证失败 */ functi ...
- Java多线程:CountDownLatch、CyclicBarrier 和 Semaphore
场景描述: 多线程设计过程中,经常会遇到需要等待其它线程结束以后再做其他事情的情况. 有几种方案: 1.在主线程中设置一自定义全局计数标志,在工作线程完成时,计数减1.主线程侦测该标志是否为0,一 ...
- OraclePLSQL编程
PL/SQL编程 pl/sql(procedural language/sql)是Oracle在标准的sql语言上的扩展.pl/sql不仅允许嵌入式sql语言,还可以定义变量和常量,允许使用条件语句和 ...
- android9.0适配HTTPS:not permitted by network security policy'
app功能接口正常,其他手机运行OK,但是在Android9.0的手机上报错 CLEARTEXT communication to 192.168.1.xx not permitted by netw ...
- Ubuntu下安装antlr-4.7.1
简介:antlr工具将语法文件转换成可以识别该语法文件所描述的语言的程序. 例如:给定一个识别json的语法,antlr工具将会根据该语法生成一个程序,该程序可以通过antlr运行库来识别输入的jso ...
- 【2019年04月22日】A股最便宜的股票
太钢不锈(SZ000825) - 当前便宜指数:170.67 - 滚动扣非市盈率PE:4.37 - 滚动市净率PB:0.98 - 动态年化股息收益率:4.79%- 太钢不锈(SZ000825)的历 ...