011.T_SQL语法(sql实例)

--T_SQL :TRANSACTION _SQL (SQL SERVER 专有)
--PL_SQL: (ORACLE 特有)

--作用:
--标准sql+编程(逻辑)=t_sql

-- t_sql语法基础:
-- 变量:
--全局变量 (系统变量)了解
[email protected]@,系统定义,维护,赋值
-- 只读(使用)

--局部变量:用户自定义变量(*****)
-- @,由用户定义,赋值,使用

--1 声明declare
--c# int i=9
--declare @i int=10
--declare @a varchar(20),@j int

--2 赋值
declare @i int =0
declare @s1 varchar(20), @j int
set @i=85 --,@j=10 set1次给1个变量赋值
select @s1=‘jack‘,@i=10 --可以给多个变量赋值
--输出(测试)
-- print @s1 +‘的成绩是‘+ cast(@i as varchar(10))
select @s1 +‘的成绩是‘+ cast(@i as varchar(10))
--如何将查询结果赋值给变量
--判断员工的平均工资,如果>2000 输出‘工资达标‘
--否则输出‘工资太低‘
declare @avgSla money=0 --平均工资
--赋值
--注意:子查询查询结果不要超过1个,否则报错
--set @avgSla=(select AVG(sal) from EMP)
select @avgSla=AVG(sal)from EMP
--如果查询超过1个值,会将最后一个值赋给变量,不会报错
if(@avgSla>=2000)
print‘工资达标‘
else
print‘工资太低‘

--已知部门名称(变量),查询该部门员工将该部门员工信息显示出来.

declare @em nvarchar(20)
set @em=‘SALES‘
print @em+‘部门员工信息如下:‘
select EMPNO as 员工编号,ENAME as 姓名,JOB as 工作,MGR as 上级编号,HIREDATE as 入职时间,SAL as 薪资 from EMP,DEPT
where EMP.DEPTNO=DEPT.DEPTNO and [email protected]

控制语句:
if 语句

IF(条件)
BEGIN
--只有1条语句,begin end可以忽略
END

while 语句

WHILE (条件)
BEGIN
--循环体
end
--eg:1-100之间的数,求其中能被3整除的数的和,输出和.

declare @num int =1,@sum int=0
while (@num<=100)
begin
if(@num%3=0)
begin
set @[email protected]
end
set @num+=1
end
print ‘1-100能被3整除的数的和是:‘+cast(@sum as varchar(10))

--eg:涨工资,循环着涨,直到所有的员工工资都超过2000,每次涨200元.公司制度有工资上限:员工的工资上限是5000块
select * from EMP

declare @sal int=(select MIN(SAL) from EMP)
while(@sal<=2000)
begin
update EMP set SAL+=200
where SAL+200<=5000
end
select sal from EMP

--case end语句(面试题)
嵌套在select,update中 实现功能
语句:case
when 条件1 then 结果1
when 条件2 then 结果2
...
else 其他结果
end

--eg
select sname,sex=case
when sex=1 then‘男‘
when sex=0 then‘女‘
end from info

--面试题:
将info表中的sex 列的1改成0,0改成1.
update info set sex=case
when sex=1 then 0
when sex=0 then 1
end
select * from info

USE Practice
CREATE TABLE TEMP
(
SJ DATETIME,
RE VARCHAR(10)
)
INSERT INTO TEMP VALUES
(‘2015-5-9‘,‘胜‘),
(‘2015-5-9‘,‘负‘),
(‘2015-5-10‘,‘胜‘),
(‘2015-5-10‘,‘负‘),
(‘2015-5-10‘,‘负‘)

SELECT * FROM TEMP

SELECT SJ,SUM(CASE WHEN RE=‘胜‘ THEN 1 ELSE 0 END)AS‘胜‘,
SUM(CASE WHEN RE=‘胜‘THEN 0 ELSE 1 END)AS ‘负‘
FROM TEMP
GROUP BY SJ

create table kechengtb
(
techID int ,
[week] nvarchar(20),
isClass nvarchar(10)
)
insert into kechengtb values
(1,‘2‘,‘有‘),
(1,‘3‘,‘有‘),
(2,‘1‘,‘有‘),
(3,‘2‘,‘有‘),
(1,‘2‘,‘有‘)

select techID as 教师号,
sum(CASE WHEN week=1 then 1 else null end)as 星期一,
sum(CASE WHEN week=2 then 1 else null end)as 星期二,
sum(CASE WHEN week=3 then 1 else null end)as 星期三
from kechengtb
group by techID

时间: 2024-10-23 03:59:49

011.T_SQL语法(sql实例)的相关文章

LINQ To SQL 语法及实例大全

LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句. Where操作包括3种形式,分别为简单形式.关系条件形式.First()形式.下面分别用实例举例下: 1.简单形式: 例如:使用where筛选在伦敦的客户 var q = from c in db.Customers where c.City == "London" select c

LINQ_to_SQL语法及实例大全

LINQ To SQL 语法及实例大全 2011/4/5 目录 LINQ to SQL语句(1)之Where. 2 Where操作... 2 1.简单形式:... 2 2.关系条件形式:... 2 3.First()形式:... 3 LINQ to SQL语句(2)之Select/Distinct. 3 1.简单用法:... 4 2.匿名类型 形式:... 4 3.条件形式:... 5 4.指定类 型形式:... 6 5.筛选形式:... 6 6.shaped形式(整形类型):... 6 7.嵌

013.子查询和分页子查询(sql实例)

--1 子查询 如果子查询和表连接都实现的时候,推荐用表连接实现( 一般:能用表连接实现的就用表连接,有些情况用表连接不能 或者不易实现的再选择子查询) 系统:缓存,执行计划技术手段 --1 where 条件后 + 子查询 注意: 1 先执行的是子查询语句 2 子查询嵌套的层数越大,性能会随之递减 A) 当子查询写在比较运算符之后(=,!=,>,...)时 要求:子查询的查询结果不能多于1个(1,0(不会报错, 没有结果)) --eg select * from EMP where SAL>(

搜索本地网络内所有可用的SQl实例

'搜索本地网络内所有可用的SQl实例 Dim instance As SqlDataSourceEnumerator = SqlDataSourceEnumerator.Instance Dim dt As DataTable = instance.GetDataSources() DataGridViewX1.DataSource = dt

学习《Oracle PL/SQL 实例讲解 原书第5版》----创建账户

通过readme.pdf创建student账户. 以下用sys账户登录时都是sysdba. 一.PL/SQL 登录oracle. SYS/123  AS SYSDBA 账户名:sys:密码:123:作为sysdba角色登录. 二.查询DEFAULT TABLESPACE和TEMPORIRY TABLESPACE. SELECT tablespace_name FROM dba_tablespaces ORDER BY tablespace_name; 注:tablespaces are area

Linq to Sql语法及实例大全

LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的 ,而判断条件就是它后面所接的子句. Where操作包括3种形式,分别为简单形式.关系条件形式.First()形式.下 面分别用实例举例下: 1.简单形式: 例如:使用where筛选在伦敦的客户 var q = from c in db.Customers where c.City == "London" select

LINQ To SQL 语法及实例大全【转】

转http://blog.csdn.net/pan_junbiao/article/details/7015633 LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句. Where操作包括3种形式,分别为简单形式.关系条件形式.First()形式.下面分别用实例举例下: 1.简单形式: 例如:使用where筛选在伦敦的客户 var q = fro

009.增删查改语法(sql实例)

--------------------------------------------合并结果集SELECT UNION ---------------------------------------------------------- SELECT 'HAHA',1,52 UNION--联合,将查询的两个结果集合并,*结构一致才能合并到一起,结构不一致则会报错 SELECT '嘿嘿',1,52 SELECT 'HAHA',1,52 UNION all SELECT '嘿嘿',1,52--常

010.简单查询、分组统计查询、多表连接查询(sql实例)

-------------------------------------day3------------ --添加多行数据:------INSERT [INTO] 表名 [(列的列表)] --SELECT UNION --SELECT 'HAHA',1,32--UNION ALL --全部显示/显示重复数据 即使集合相同--UNION---------将查询的两个结果集合并.结构必须一致 -->常见面试题 --SELECT 'HEHE',2,33------将查询结果添加到列表中(子查询)IN