sql常用语句小结

查询:

 

1、考点:查询账号s_01在所有学科的成绩

 

select id,pin from student where pin='s_01'

select sid,gid,fenshu from student_group where sid=222

select id,name from group where id=333

 

账号肯定存在,账号-学科关系存在,则分数一定存在,账号-组关系不存在的,就不用显示,则:

根据左连接特性,左边的表的所有列都会列出,sql语句为:

 

selct XX from A left join B on A.XX=B.XX where XXX;

 

select s.pin as 学生,g.name as 学科,sg.fenshu as 分数 from student as s left join student_group as sg on s.id=sg.sid left join group as g on sg.gid=g.id where s.pin='s_01'

 

2、查询分组的数据,比如查询所有学生的总分, 考点:sum函数、max、min、avg、group by

 

select s.pin as 学生,sum(sg.fenshu) as 分数 from student as s left join student_group as sg on s.id=sg.sid where s.pin in('s_01','s_02') group by s.pin

 

sum()一般要与group by一起用。

 

 

3、select count(distinct A)from XXX,计算总数时,有重复项,将有重复项的A去重,用此语法。

 

4、select distinct A from XXX,查询结果时,有重复项,将有重复项的A去重,用此语法。

 

5、having语法:

SELECT column_name, aggregate_function(column_name)

FROM table_name

WHERE column_name operator value

GROUP BY column_name

HAVING aggregate_function(column_name) operator value

order by XXX

 

eg:

SELECT Customer,SUM(OrderPrice) FROM Orders

GROUP BY Customer

HAVING SUM(OrderPrice)<2000

order by Customer desc

 

 

新增:

INSERT INTO 表名称 VALUES (值1, 值2,....)

eg:INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')(Persons表有4个列)

 

我们也可以指定所要插入数据的列:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

eg:INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')

 

修改:

 

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

 

删除:

 

DELETE FROM 表名称 WHERE 列名称 = 值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值