欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

sql

程序员文章站 2022-03-22 13:39:17
SQL Server中的添加语句: insert into 表名(你自己建立的表,想那个表中添加就写那个表名) values('','','','') >这种形式是向这个表内所有属性赋值 insert into 表名(填写列名)values('') >这种形式是单独向该表中的某一列添加值 SQL S ......

SQL Server中的添加语句:

insert into 表名(你自己建立的表,想那个表中添加就写那个表名) values('','','','')------------->这种形式是向这个表内所有属性赋值

insert into 表名(填写列名)values('')-------------->这种形式是单独向该表中的某一列添加值

SQL Server中的查询语句:

select * from 表名--------------------->查看这个表(查看该表内所以内容)

select (列名)from 表名------------------>查看这个表(查看该表中的某一列)

select count(*) from 表名 group by 列名---------------->查询人数有多少

select count(*) 人数, dizhi 地址 from stu_info group by dizhi-------------------------->查询地址人数有多少

SQL删除语句:
一、delete from 表名

二、Truncate table 表名 --------->彻底删除,无法通过工具恢复

SQL查询语句
一、select distinct dizhi(列名) from stu_xinxi(表名)------->查出所以的地址(列(每一种都会出现))

二、select count(*) from stu_xinxi group by dizhi

select count(*)人数,dizhi 地址 from stu_xinxi group by dizhi
以上两种:1)查询人数一共有多少。 2)第一种的优化版,加上了别名。

三、select count(*)人数 from stu_xinxi
查看一共都多少人,只会返回一个数字

四、排序:
select * from stu_chengji(表名) order by score(列名) desc(降序)
按照从大到小的方式进行排序

select * from stu_chengji(表名) order by score(列名) asc(升序)
按照从小到大的方式进行升序

五、查看最高分(最低分)
select max(score) from stu_chengji-----------=----------select max(列名) from (表名)
查看最高分

select min(score) from stu_chengji
查看最低分

六(*)、分组
select dizhi(列名) from stu_info(表名) group by dizhi(列名)

七、分组排序
select max(score(列名)),id from stu_chengji(表名) group by id

select max(score),id from stu_chengji group by id

select max(score)最高分,id 科目,riqi 日期 from stu_chengji group by id,riqi order by riqi desc

按照每个科目的最高分且按照日期进行降序排列。

八、查询规定范围内的数据
select top 10 * from stu_xinxi
查询前十条

select top 10 * from stu_xinxi where id not in (select top 10 id from stu_xinxi)
查询第十一条到第二十条

select * from stu_chengji where score between 60 and 66

九、基础查询
select * from stu_xinxi where name in('龙王1')-----------------当确切知道只有一个人叫'龙王1'的可以用in=
如果不确切应该用In()

*当数据超过两万条时,In 是查询不出来东西的,两万条以上应该用Exists
*Exists在查询时只返回True 或 false

select * from stu_xinxi where exists(select * from stu_xinxi where name='宙斯')
Exists查询方法

查询从第一个数字到第二个数字之间的所以值

SQL通配符

1)count(*):统计选择的记录的个数

2)sum(列名):对某列计算总和

3)avg(列名):对某列计算平均值

4)max(列名):对某列求最大值

5)min(列名):对某列求最小值


SQL筛选

where 后面不能使用聚合函数 但是having后面可以使用聚会函数

select avg(score) cid from stu_chengji group by cid having avg(score)>=60
筛选成绩大于或等于60的各科平均分

SQL求和

select sum(score) from stu_chengji where cid = (select id from stu_kemu where kecheng = 'java')
求出所有java成绩之和

SQL连接
inner join---on---内连接
内连接:重合了多少,就展示多少。

left join---on---左连接
左连接:以左表为主,右表不足就以null补足,展示左表

right join---on---右连接
右连接:以右表为主,左表不足以null补足,展示右表

full:将左连接与右连接拼起来

 

sql语句只是一个辅助,最重要的还是你对表与表之间的关系的理解,这是我的一个理解。