-
数据库附加到当前数据库中 attach
查看全部 -
主键 唯一且不能为空查看全部
-
Select <table fields list>(表字段列表)
From <table names list>(表名称列表)
Where <row constraints specification>(行约束条件)
Group by <grouping specification>(分组规范)
Having <grouping selection specification>(分组选择规范)
Order by <order rules specification>(顺序规则规范)
查看全部 -
primary key与foreign key之间建立的联系
查看全部 -
SELECT <table fields list>
——所要查询的列,后面接<列名1,列名2>
FROM <table names list>
——在指定的表中获取,后面接<表名1,表名2>
例:SELECT SalesOrderNumber
FROM FactResellerSales
从FactResellerSales表中查询SalesOrderNumber列
where <row constraints specification>
——设置限制条件,指定符合条件的数据被调取。
group by <grouping specification>
——表示分组,GROUP BY必须得配合聚合函数来用,分组之后你可以
count() 计数、sum() 求和、avg() 平均数、max() 最大值、min() 最小值
having <grouping selection specification>
——用来过滤由GROUP BY语句返回的记录集,针对聚合运算设置限制条件,
order by <order rules specification>
——对输出结果进行排序
查看全部 -
不能附加数据库时的操作
st_log.ldf文件在电脑中不存在,选中它点下面的“remove”将其移除再点“ok”即可
查看全部 -
select 列1,列2,列3,...
from 表名1,表名2,表名3,...
where 对行的限制条件
group by 对集合运算的定义
having 对集合运算的限制条件
order by 排序
查看全部 -
行:Row/Record
列:Column/Attribute
字段:Field/Cell
主键:primary key
外键:foreign key
查看全部 -
where 中多个条件用and连接
查看全部 -
Select Top 100 * from []查看全部
-
having Max()
查看全部 -
count; distinct,
查看全部 -
select 列1,列2,列3,...
from 表名1,表名2,表名3,...
where 对行的限制条件
group by 对集合运算的定义
having 对集合运算的限制条件
order by 排序
查看全部 -
HAVING语句通常与GROUP BY语句联合使用,用来过滤由GROUP BY语句返回的记录集。
HAVING语句的存在弥补了WHERE关键字不能与聚合函数联合使用的不足。
语法:
SELECT column1, column2, ... column_n, aggregate_function (expression)FROM tablesWHERE predicatesGROUP BY column1, column2, ... column_nHAVING condition1 ... condition_n;
同样使用本文中的学生表格,如果想查询平均分高于80分的学生记录可以这样写:
SELECT id, COUNT(course) as numcourse, AVG(score) as avgscore
FROM student
GROUP BY id
HAVING AVG(score)>=80;
查看全部 -
--Topic 4
select ProductID, Name, ProductNumber, isnull(Color,''), isnull(Size,'1'), ListPrice
from Production.Product#注释-isnull()--针对空值进行编辑,isnull(Color,'')--指定Color列的空值不显示, isnull(Size,'1')指定Size的空值显示为1代替。
--Topic 5
select ProductID, Name, ProductNumber,
isnull(Color,'') as Color, isnull(Size,'') as Size123, --using an alias
ListPrice
from Production.Product
#注释:as--给查询结果中的列编辑新列名select ProductID, Name as ProductName, --using an alias
'The list price for ' + ProductNumber + ' is $ ' + convert(varchar,ListPrice) +'.' ,--using the concatenation to join character end-to-end.(使用串联将字符端到端连接起来。)
'The list price for ' + ProductNumber + ' is $ ' + convert(varchar,ListPrice) +'.' as [Description] --using brackets to let SQL server conside the strin as a column name(--使用括号中的字符串视为列名)
from Production.Product#注释:
格式:
CONVERT(data_type,expression[,style])--转换函数说明:
此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到.
字符串类型:
CHAR
CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。
VARCHAR
存储变长数据,但存储效率没有CHAR高,如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。
VARCHAR类型的实际长度是它的值的实际长度+1。为什么"+1"呢?这一个字节用于保存实际使用了多大的长度。
TEXT
text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。
NCHAR、NVARCHAR、NTEXT、三种从名字上看比前面三种多了个"N"。
和char、varchar比较起来,nchar、nvarchar最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。
可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。--Topic 6
select BusinessEntityID,rate from [HumanResources].[EmployeePayHistory]select BusinessEntityID
,rate
,rate*40*52 as AnnualSalary
,round(rate*40*52,1) as AnnualSalary
,round(rate*40*52,0) as AnnualSalary
from [HumanResources].[EmployeePayHistory]#注释:round函数--是对数据进行制定精度的取值
第一个参数是取值的数据,第二个参数是精度,
第三个参数是数据取值模式(四舍五入还是截断),其中第三个参数是可选参数,默认是四舍五入模式。select BusinessEntityID
,(rate+5)*40*52 as AnnualSalary
from [HumanResources].[EmployeePayHistory]#注释:sql server遵循算数运算法则,优先计算()内的
查看全部
举报