SQL 语言基础

对象命名对象
三段式名字标识对象:
<数据库名>.<所有者名>.<对象名>
前两者可以省略,系统自动有一个默认值。
数据库名默认值是当前数据库
所有者名默认值是数据库的所有者(dbo)
别名:使用别名的主要目的是增加select语句的可读性。
可使用如下语句指派数据表的别名:
数据表名称 as 数据表别名
如果引用了别名 在相应的T-SQL语句中,对该数据表的所有显示引用都必须
使用别名。

select语句
基本结构
SELECT[ALL|DESTINCT] select_list[INTO[new_table_name]]
FROM {table_name|view_name}
     [[,table_name2|view_name2}
     [....,{table_name16|view_name16}]]
[WHERE search_conditions]
[GROUP BY group_by_list]
[HAVING search_conditions]
[ORDER BY order_list [ASC|DESC]]

汇总函数
把一列中的值进行汇总运算,返回单值的函数
五个预定义的聚合函数
平均值:Avg
总和:Sum
最小值:Min
最大值:Max
计数: Count
count(*),count(Distinct)

连接查询
就是在多个表中检索数据
内连接
内连接的格式
数据表1 inner join 数据表2 on 连接表达式
指定返回两个表中所有匹配的行

外连接:左向外连接,右向外连接,完整外连接

左向外连接的格式为:
数据表1 left join 数据表2 on 连接表达式 或
数据表1 left outer join 数据表2 on 连接表达式
返回结果集中将包括数据表1中所有的记录。

右向外连接格式:
数据表1 right join 数据表2 on 连接表达式 或
数据表1 right outer join 数据表2 on 连接表达式
和左向外连接正好相反

完整外联接
格式如下:
数据表1 full join 数据表2 on 连接表达式 或
数据表1 full outer join 数据表2 on 连接表达式
包含两个数据表中的所有记录。

交叉连接
格式为:数据表1 cross join 数据表2
如果在select语句中没有使用where子句,则交叉连接将返回
数据表1中的所有记录,以及数据表1中的每一条记录与数据表2中
的所有记录的组合。

提高select语句的效率
使用exists关键字检查结果集:不要用count(*)来检查结果集中是否包含行
使用标准联接代替嵌套查询
有效避免整表扫描:使用索引

数据插入
格式1:
INSERT INTO <表名>[(<列名1>[,<列名2>...])]
VALUES(<值1>[,<值2>...]);
格式2:
INSERT INTO<表名>[(<列名1>[,<列名2>...]) select 语句;

数据修改
UPDATEEE<表名> SET <列名1>=<表达式1>
[,<列名2>=<表达式2>...][WHERE<条件>];
可以一次更新一列或多列;更新一行或多行(由where的选择条件决定)。

删除数据
DELETE[FROM] {table_name|view_name}
[WHERE 子句]
只能整行删除,不能只删一行的部分。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值