sqlserver min函数其他set操作消除了null值_数据库常用SQL操作篇

3c104f37b5313b713ad6bbfd2ce5615d.png

数据查询

查询数据库表的内容(所有行和列)

 SELECT * FROM <表名>;
  • 示例

5345695b04d38e7fef8e91591c1e57c2.png

计算

 SELECT <数学多项式>;
  • 示例

4d5f0aff1b19def22ca168e9fe56c95c.png

条件查询

 SELECT * FROM <表名> WHERE <条件表达式>;
  • 示例

200100d44989137013c07861891985a8.png
  • 注意:对于条件表达式,可以用逻辑运算符ANDORNOT)将多个条件同时进行匹配;

92da96d540f080cc4608c10e5f366d0e.png

6258203b84dd8152bbbcdd4de6c8d36c.png

59d105d8541a932792c5fdbe7d5c4720.png
  • 对于三个及以上的条件,可以用小括号()进行条件运算;

601d38ad59d2a7c822465b13afff52b7.png
  • 常用条件表达式

cc669a76e1a9a88a940a53400c1b890b.png

投影查询

  • 基本的投影查询
 SELECT 列1,列2,列3 FROM ...;

69062f6489f50c96f0bf8ca3b9ba5cf9.png
  • 对列名重命名的投影查询
 SELECT 列1 别名1, 列2 别名2, 列3 别名3 FROM ...;

d0d2bc0bca5a9768e9b6e652c4ec2d11.png
  • 注意: 别名是存在于内存中的,而WHERE仅适用于硬盘,但是HAVING既可以针对硬盘,也可以针对内存条件进行查询;

分页查询

  • 经排序后获取结果中第M条开始后N条记录;
 -- MySQL中两句等效
 SELECT <列名> FROM <表名> ORDER BY <列名> LIMIT <M> OFFSET <N>;
 SELECT <列名> FROM <表名> ORDER BY <列名> LIMIT <N> , <M>;

39849169cc52cc5eaac32263af686089.png

聚合查询

  • 常用聚合函数

函数说明SUM计算某一列的合计值,该列必须为数值类型AVG计算某一列的平均值,该列必须为数值类型MAX计算某一列的最大值MIN计算某一列的最小值COUNT统计某一列的个数

bfd1193d094f71b5265eb0beecf78502.png

d73a60438e71e7a887ca9e77ea20977e.png

多表查询(笛卡尔查询)

 SELECT * FROM <表1> <表2>

bbf95a9777f5e87e1f14a3faab9bb769.png
  • 注意:多表查询时,使用表名.列名的方式,以防止结果集列名重复问题;

连接查询

  • 定义:另一种类型的多表查询,它对多个表进行JOIN运算,即先确定一个主表作为结果集,然后将其他表的行有选择地“连接”到主表结果集中;
  • 内连接,以下是查询的写法:
 SELECT ... FROM <表1> INNER JOIN <表2> ON <条件...>;
  1. 先确定主表,继续使用FROM <表1>的语法;
  2. 再确定需要连接的表,使用INNER JOIN <表2>的语法;
  3. 然后确定连接条件,使用ON <条件…>,这里的条件是s.class_id = c.id,表示students表的class_id列与classes表的id列相同的行需要连接;
  4. 可选:加上WHERE子句、ORDER BY等子句;

e132a9e0e7c23ff4ec77b32dd972091c.png
  • 外连接
    • RIGHT OUTER JOIN:返回右表均存在的行;
    • LEFT OUTER JOIN:返回左表均存在的行;
    • FULL OUTER JOIN:将两张表中所有记录均选出来,且自动将对方不存在的列填充为NULL

排序

  • 正序(默认规则下为正序,以下两条语句功能相同)
 SELECT <列名> FROM <表名> ORDER BY <列名> ASC;
 SELECT <列名> FROM <表名> ORDER BY <列名>;

fe8bb773502f12262236d4dcf067a765.png

38eed2853c18322f8243b16241de89bd.png
  • 逆序
 SELECT <列名> FROM <表名> ORDER BY <列名> DESC;

97c49bfd3cb3053271f37a47431f3629.png

数据修改

INSERT

 INSERT INTO <表名> (字段1, 字段2, ...) VALUES (值1, 值2, ...);

3eb8c3b6f46a6addbaf2af7b0d8394e4.png

1cd8ca1734e4d617a9c66de133166ada.png

UPDATE

 UPDATE <表名> SET 字段1=值1, 字段2=值2, ... WHERE ...;

f1370c27419606a0fda1acb19fb88ab8.png

1ffac040b0e387f703b977bc1a4debb8.png
  • 注意:不带WHEREUPDATE将会更新整个表的数据;

DELETE

 DELETE FROM <表名> WHERE ...;

173f24533f0d853cd89408e4cba51f59.png
  • 注意:不带WHEREDELETE将会删除整个表的数据;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值