SQL新手养成日记

基本的数据库
databases
软件名称 management studio
数据的查询 编辑 添加
ER图
 dbo.EDM
table和table之间有关系
叫做关系型数据库管理系统(RDBMS)
SQL 叫做 C扣
关系型数据库的基本要素是二维表
行,列
主键(PK),外键(FK)
主键不能为空
什么事T SQL结构型的查询语言
用处:通过数据来回答商业运营中的实际问题从而帮助公司企业决策者做出更


好的决策
-----------------------
SELECT(DISTINCT)
FROM
WHERE 
GROUP BY
HAVING
UNION
ORDER BY
select<table fields list>
*表示表格中的所有数据
尽量少用*
desc倒序排列 asc正序排列(可以省略)。
可以用select Top 100 * from [prodcution].[product]也可以不用加框框。
选中一部分select productID,Name,ProductNumber,Color,Size,ListPrice 


from prodcution.product
order by Listprice desc,Name
解释:进行两次排列,一次按照Listprice倒序排列,一次按照Name正序排列。
select productID,Name,ProductNumber,Color,Size,ListPrice from 


prodcution.product
order by 2
解释:按照我们选出的第二个Name进行正序的排列
--------------------------
isnull
null代表空值,但是我们不想在数据中呈现
方法:
select productID,Name,ProductNumber,isnull(Color,''),isnull


(Size,''),ListPrice from prodcution.product
-------------------------------
as
给自己表头FK重命名
select productID,Name,ProductNumber,isnull(Color,'') as Color,


isnull(Size,'') Size123,ListPrice 
from prodcution.product
ps:备注方法:- -东西*************
select BusinessEntityID,rate from HumanResources.EmployeePayHistory 
select BusinessEntityID,
rate*40*52 as AnnualSalary,
round(rate*40*52,1) as AnnualSalary,
round(rate*40*52,0) as AnnualSalary
from HumanResources.EmployeePayHistory
备注 1,0表示 四舍五入的位置 ,但是所有的依旧显示两位小数点。
------------------------
where
select * from sale.salesorderheader
where salespersonID=275


select * from sale.salesorderheader
where TotalDue>5000


select * from sale.salesorderheader
where SalesOrderNumber='so43670'
ps:int整型,不用加‘’,String字符型,需要加‘’。




select * from sale.salesorderheader
where salespersonID=275 and TotalDue>5000


select * from sale.salesorderheader
where salespersonID=275 and TotalDue>5000 and Orderdate between'2005


-08-01' and '1/1/2006'
ps:这两种时间的表示方式都是可以的


select * from sale.salesorderheader
where salespersonID=275 and TotalDue>5000 and Orderdate >= '2005-08-


01' and Orderdate < '1/1/2006'


对于字符串的引用
select * from sale.salesorderheader
where name = 'Mountain-100 Silver,38'


类似于超级查找的方式


select * from sale.salesorderheader
where name like '%Mountain%'  这个前后%,表示mountain前面也可以有东西


,后面也可以有东西。
搜索mountain前面没有东西的模糊查找
select * from sale.salesorderheader
where name like 'Mountain%'


-的使用
select * from sale.salesorderheader
where name like '_ountain%'
表示_里面我不知道是什么单词了。
------------------------------------
in的使用
select * from Producrion.product
where size in('60','61','62')
选择size里面 是60,61,62东西的那个字符。
为什么用字符呢,因为这里的size格式是char  具体问题 具体分析。
----------------
not in
----------------
distinct只选择一次。
进行快速的查询
where size not in('60')
-----------------
select * from Producrion.product
where size is null


select * from Producrion.product
where size is not null***经常使用。


select * from Producrion.product
where color = 'white'or color='black'


select * from Producrion.product
where color = 'white'and color='black'


select * from Producrion.product
where (SalesPersonID=275 or SalesPersonID=278) and TotalDue>5000










 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值