SQL语句基础之 单表查找

Sql语句之 单表查询

一.一般查询

1.查看表中的所有记录 以及 所有字段(属性)

语句 : select * from student;

2.只查看某些字段

语句:select sname,sex from student;

3.把查询出来的结果的字段名显示为其它名字

语句: select sname as ‘姓名’ , sage as ‘年龄’ from student;

4.在查询结果中添加一列,这一列的值为一个常量

语句:select sname,sex,’广州’ address from student;

5.把某些字段合并后显示出来(我先在表中添加了一个字段score,它的值为90)

语句: select sname,(sage+score) as ‘年龄加得分’ from student;

注意,合并的字段的数据类型必须一致。

6.把查询出来的结果的重复记录去掉

语句: select distinct score from student;

因为学生们的成绩都是90,去掉重复后,只显示一个记录。

条件查询

除了根据字段来查询,我们还可以通过设定某些条件来查询,得到自己想要的记录。

使用where关键字来设置条件;

1.单条件查询

查询名字为 Jax的学生的信息:

语句:select * from student where sname=’Jax’;

2.多条件查询

查询名字为JinX,并且年龄为18岁的学生信息:

语句: select * from student where sname=’JinX’ and sage=18;

查询名字为VN,或则EZ的学生的年龄。

语句:select sage from student where sname=’VN’ or sname=’EZ’;

3.范围查询

查询年龄在17到20岁的学生的信息。

语句:SELECT * FROM student WHERE sage BETWEEN 17 AND 20; -- 包前包后

4.判空查询

判空主要有两个:一.判断是否为null,二.判断是否为空字符串

判断是否为null: 语句  select * from student where score is not null;

select * from student where score null;

判断是否为空字符串: 语句  select * from student where sex<>’’;    ------”<>”表示 “不等于”

Select * from student where sex=’’;

5.模糊查询

使用 like 关键字,”%”代表任意数量的字符,”_”代表占位符。

查询名字为J开头的学生的信息:

语句 :select * from student where sname like ‘J%’;

查询姓名里第二个字母为a的学生的信息

语句: select * from student where sname like ‘_a%’;

6.分页查询

分页查询主要用于查看第N条 到 第M条的信息,通常和排序查询一起使用。

使用limit关键字,第一个参数表示从条记录开始显示,第二个参数表示要显示的数目。

表中默认第一条记录的参数为0.

查询学生表中第二到第三条的信息:

语句 : select * from student limit 1,2;

7.查询后排序

查询后的见过按照某个字段来排序。

关键字:order by , asc:升序 , desc:降序

按照年龄的升序排序:

语句:select * from student order by sage asc;

8.聚合查询

如果我们需要对查询出来的结果进行求和,求平均值,求最大最小值,统计显示的数目等运算,我们就要用到聚合查询,

关键字:sum,avg,max,min,count

查询所有学生年龄的和: select sum(sage) from student ;

查询所有学生年龄的平均值:select avg(sage) from student;

查询年龄最大的学生的年龄: select max(sage) from student;

查询年龄最小的学生的年龄: select min(sage) from student;

统计表中学生的数目:select count(sname) from student;

9.分组查询

可以把查询出来的结果根据某个条件来分组显示

关键字:broup by

根据性别把学生分组:

Selete * from student group by sex;

--  2.12 分组筛选查询

-- 需求: 查询哪些区的人数大于等于2个

-- 1)查询每个区的情况  2)添加条件

-- 预期结果: 广州天河   2

-- 注意:如果使用了group by,在分组基础上进行筛选要使用having关键字

SELECT address,COUNT(*) FROM student GROUP BY address HAVING COUNT(*)>=2;

时间: 2024-12-23 12:25:57

SQL语句基础之 单表查找的相关文章

精妙SQL语句 基础

精妙SQL语句SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作,方便自己写SQL时方便一点,想贴上来,一起看看,同时希望大家能共同多多提意见,也给我留一些更好的佳句,整理一份<精妙SQL速查手册>,不吝赐教! 一.基础1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname 3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC s

sql语句基础和提升

mysql sql语句大全 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBac

使用sql语句复制一张表

如何使用sql语句复制一张表? 第一步:先建一张新表,新表的结构与老表相等. create table newbiao like chengjibiao(老表名); 第二步:将老表中的值复制到新标中. insert into newbiao SELECT * from chengjibiao(老表名);

使用SQL语句清空数据库所有表的数据

近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进行清空.使用的数据库为MS SQL SERVER.1.搜索出所有表名,构造为一条SQL语句 declare @trun_name varchar(8000)set @trun_name='' select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from syso

SQL语句:关于复制表结构和内容到另一张表中的SQL语句

1.复制新表结构及数据到新表create table 新表 select * from 旧表 2.只复制表结构到新表 create table 新表 select * from 旧表 where 1=2 3.复制旧表的数据到新表(假设两个表结构一样) insert into 新表 select * from 旧表 4.复制旧表的数据到新表(假设两个表结构不一样) insert into 新表(字段1,字段2,......) select 字段1, 字段2,... from 旧表 SQL语句:关于

使用Sql语句快速将数据表转换成实体类

开发过程中经常需要根据数据表编写对应的实体类,下面是使用sql语句快速将数据表转换成对应实体类的代码,使用时只需要将第一行'TableName'引号里面的字母换成具体的表名称就行了: declare @TableName sysname = 'TableName' declare @Result varchar(max) = 'public class ' + @TableName + ' {' select @Result = @Result + ' public ' + ColumnType

正则表达式匹配SQL语句中的所有表名

折磨了几个小时,写出匹配SQL语句中的所有表名,备忘记录 1 \*\s+from\s+[\w\[\]]*\.?[\w\[\]]*\.?\[?(\b\w+)\]?[\r\n\s]* 支持各种表达式 SELECT * FROM Config SELECT * FROM [dbo].IMEIUser SELECT * FROM dbo.LotteryLog SELECT * FROM [GreenPrize]SELECT * FROM [dbo].[Config]SELECT * FROM dbo.[

ORACLE基本SQL语句-用户及建表篇

一.用户相关SQL语句 /*新建用户*/create user SA identified by 2013; 说明:SA用户名,2013密码 /*授权connect,resource给用户sa*/grant connect,resource to sa; 说明:CONNECT角色: --是授予最终用户的典型权利,最基本的 . ESOURCE 角色: --是授予开发人员的 /*查询所有的用户*/select * from all_users; /*将表STU查询权限授予SA*/GRANT SELE

sql 语句 获取某张表某列字段最短的某几行数据

sql 语句 获取某张表某列字段最短的某几行数据 SELECT C_name,C_code FROM Catalog where LEN(C_code)=LEN((SELECT top 1 C_code FROM Catalog order By LEN(C_code))) 原文地址:https://www.cnblogs.com/woniucode/p/10455406.html