SQL语言基础(2)

字段的别名 AS

通过as给字段起一个别名

select card as 身份证,name as 姓名,sex as 性别;

别名的as可以进行省略

select card 身份证,name  姓名,sex 性别;

表的别名 AS

通过表名as 别名 给表起一个别名 as也可以省略

student表别名为s

select * from student as s;

student表别名为s (省略as)

student * from student s;

去重 distinct

通过select distinct 字段名,字段名 from 表名 来过滤select查询结果中的重复记录

查询学生表性别并进行去重

select distinct sex from student;

条件查询

where后面跟一个条件,实现有选择的查询

select * from 表名 where 条件

查询students表中学号stundentNo 等于001的记录

select * from studnets where studnetNo = '001';

查询students表中年龄age等于30的姓名和班级

select name,class from student where age = 30;

查询的基本规律

█ select 后面的*或者是字段名,控制了控制了返回什么样的字段(列);

█ select 中 where子句,控制l了返回什么样的记录(行)

█ where后面职称多种运算符,进行条件的处理

查询的种类

    比较运算

    逻辑运算

    模糊查询

    范围查询

    空判断

比较运算符

    等于 =

    大于 >

    大于等于 >=

    小于 <

    小于等于 <=

    不等于 !=或<>

查询student表中30岁及30岁以下的学生记录

select * form students age > 30;

查询hometown不在北京的学生记录

select * from students where hometown != '北京';

select * from students where hometown <> '北京';

查询class班级为1班以外的学生记录

select * from students where class != '1班';

查询age年龄大于25的学生姓名和性别

select name,sex from studnets where age >25 and;

逻辑运算符

and(与)

and有两个条件 

格式:条件1 and 条件2

两个条件必须同时满足

查询年龄小于30,并且性别为女的记录

select * from students where age > 30 and sex = '女';

or(或)

or有两个条件

格式:条件1 and 条件2

两个条件满足一个即可

查询性别为女或者班级为1班的学生记录

select * from studnets where sex='女' or class = '1班';

not(非)

not只有一个条件

not 条件

如果条件为满足,not后变为不满足。如果条件满足,not后变为满足

查询hometown老家非'天津'的学生记录

select * from studnet where not hometown = ‘天津’;

select * from students where hometown != '天津';

查询hometown老家是河南或河北的学生记录

select * from studnets hometown = '河南' or '河北';

查询班级为1班,并且家是北京的学生记录

select * from students class = '1班' and hometown = '北京'

查询年龄非30的岁的学生记录

select * from students not age = 30;

select *from students age ! = 30;

模糊查询

like实现模拟查询,%代表任意多个字符,_代表任意一个字符

字段名like'字符%'

    指定字符开始,后面任意多个字符

字段名_'字符_'

    指定字符开始,后面任意一个字符

查询姓名中已孙开头的学生记录

select * from students where name like '孙%';

查询姓名以孙开头,且名字只有一个字的学生记录

select * from students where name like '孙_';

查询姓白且年龄大于30的学生记录

select * from studnets where name lile '白%' and age > 30;

范围查询

in(值,值,值)

    非连续范围查找

between 值 and 值

    连续范围查找

查询假象是北京或上海或广东的学生记录

select * from students where hometown = '北京' or hometown = '上海' or hometown = '广东'

select * from students where hometown in ('北京','上海','广东');

查询年龄为25至30的学生记录

select * from student where age >=25 and age <= 30;

select * from students where age between 25 and 30;

select * from students age in (20,25,30) and sex ='女';

select * from students not age  between 25 and 30;

空判断

null 与' '是不同的

null 代表什么都没有,是不占用存储空间的 null不能用比较运算符去判断  

is null 判断是否为null

is not null 判断是否不为null

' ' 代表长度为0的字符串,是占用存储空间的

判断空值 is null

查询身份证为null的学生记录  

select * from students where card is null;

判断非空值 is not null

查询身份证非null的学生记录

select * from students where card is not null;

查询身份证为空的学生记录

select * from students where card is null or card ='';

查询身份证不为空的学生记录

select * from students where card is not null and card != '';

把年龄为25,并且姓名为孙尚香的学生,修改班级为2班

update students class = '2班' where age = 25 and name = '孙尚香';

删除班级为1班,且年龄大于30的学生记录

delect from students where age > 30 and calss ='1班';

你可能感兴趣的:(SQL语言基础(2))