sql语句

本文介绍了SQL中的数据去重方法distinct,如何选取特定数量的记录如top,以及不同类型的表关系如一对多、多对多和一对一。还讲解了内、外连接查询,排序(orderby)和分组,插入(insertinto)、更新(update)和筛选记录(where,having)的使用,以及like、in操作符。此外,提到了union用于合并查询结果和视图(view)的概念,视图是基于查询的虚拟表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

select什么的略过

distinct

作用:去除重复的项(行)(信息重复,若有一列不一样就不能删 )

select distinct 列名 from 表名

 top

/*获取前三行信息 */
select top 3 * from 表名
/*获取前40%信息*/
select top 40 percent * from 表名

多表关系

一对多:部门与员工的关系,具体实现:在多的一方建立外键,指向一的一方的主键

多对多:学生与课程的关系,实现:建立中间表,中间表至少包含两个外键,分别关联两方主键

一对一:用户与用户详情的关系,实现:可在任意一方加入外键,关联另一方的主键并设置外键为唯一

连接查询

内连接查询:查询两张表交集的部分

外连接查询:

Order by 

order by 分组,主要是与聚合函数相结合,根据一个或多个列对结果进行分组 

ASC升序,DESC降序 

/* 查询按省份升序,姓名降序的信息*/
select * from 表名 order by 省份 ASC,姓名 DESC

 insert into

/*向表里插入记录*/
insert into 表名(列1,列2,列3) value (‘值1’,‘值2’,‘值3’)

having与where区别

where筛选出符合条件的行,不能与聚合函数连用

having筛选出满足条件的组,可与聚合函数连用,group by

update 

更新语句

update 表名 set 列名=值,列2=值 where 条件(列=值)

like

/* 查找地址以a开头的任何值  */
select  * from 表名 where 地址 like 'a%'

not like:不含有什么 

%:0个或多个字符

_:下划线,表示一个字符
 

In

in允许where子句中指定多个值

/*查找省份位于上海市,北京市,广东省的信息*/
select * from 表名 where 省份 in (‘上海市’,‘北京市’,‘广东省’)

in后面也可以括号括一个子查询

Union

组合两个或更多select语句的结果集,union中每个select语句具有相同的列数,这些列也必须有相似的数据类型,每个select语句中的列也必以相同的顺序排序。

view

view是一个虚拟表,其内容由查询定义,和真是表差不多也包含行列数据,但是视图并不在数据库中以存储的数据值集形式存在。

creat view 视图名 as select ...

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值