SQL简单查询语句总结整理

对于SQL查询语句的一些总结

先创建一张简单的表
CREATE TABLE stu (
sid CHAR(6),
sname VARCHAR2(50),
age NUMBER,
gender VARCHAR2(50)
);
插入一些数据
INSERT INTO stu VALUES(‘S_1001’, ‘liuYi’, 35, ‘male’);
INSERT INTO stu VALUES(‘S_1002’, ‘chenEr’, 15, ‘female’);
INSERT INTO stu VALUES(‘S_1003’, ‘zhangSan’, 95, ‘male’);
INSERT INTO stu VALUES(‘S_1004’, ‘liSi’, 65, ‘female’);
INSERT INTO stu VALUES(‘S_1005’, ‘wangWu’, 55, ‘male’);
INSERT INTO stu VALUES(‘S_1006’, ‘zhaoLiu’, 75, ‘female’);
INSERT INTO stu VALUES(‘S_1007’, ‘sunQi’, 25, ‘male’);
INSERT INTO stu VALUES(‘S_1008’, ‘zhouBa’, 45, ‘female’);
INSERT INTO stu VALUES(‘S_1009’, ‘wuJiu’, 85, ‘male’);
INSERT INTO stu VALUES(‘S_1010’, ‘zhengShi’, 5, ‘female’);
INSERT INTO stu VALUES(‘S_1011’, ‘xxx’, NULL, NULL);

用sql语句查看表格

查询全部

--表名为 stu
select  *  from stu ;
-- * 表示全部,此句就代表查询表格的全部内容

运行结果如图
运行效果

查询部分列 (带条件的查询)

无条件
--格式 依然以stu表为例
-- select 列名(可多写,以“”,“”分隔) from 表名
--查询学生的姓名
select sname from stu; 
--查询所有学生的学号、姓名
select  sid,sname from stu;
--同时还可以给查询的列起别名
--格式为 select 列名 as 别名 from 表名;
--更简单的as也可以不写 直接在横剖面跟别名就行
-- 别名一定不要使用单引号
-- 如果别名包含特殊符号,比如空格, 把别名使用 双引号引起
-- 如果不包含特殊符号, 别名可以使用双引号引起,也可以不使用
select sid as 学生编号,sname 学生姓名 from stu;

select sid as 学生编号,sname 学生姓名 from stu; 的运行结果如图:
别名

带条件的查询

条件表示包括
基本的符号如: >大于、<小于、 =、<>或!= 都表示 不等于、>=、<=\ ;
用语句表示如:is null、 is not nul、between…and…、and、or、not、in
where 进行条件筛选
查询sql步骤:

  1. 找表: 数据来源于那张表
  2. 找列, 没有明确说查询哪些列, 那就是所有列
  3. 找条件
----查询学号为S_1001,或者姓名为liSi的记录
--sql语句: 表名,关键字, 列名不区分大小写, 但是,数据区分大小写
select  *  from  stu  where sid ='S_1001' or sname = 'lisi';

--查询学号为S_1001,S_1002,S_1003的记录
--列名 In(值1,值2,....)  列的值属于in中某一个,那就成立
select  *  from  stu  where sid ='S_1001' or sid = 'S_1002' or sid='S_1003';
select  *  from  stu  where sid  in('S_1001','S_1002','S_1003');

--查询学号不是S_1001,S_1002,S_1003的记录
select  *  from  stu  where sid !='S_1001' and sid != 'S_1002' and sid !='S_1003';
select  *  from  stu  where sid not in('S_1001','S_1002','S_1003');

--查询年龄为null的记录
-- is null 
select  *  from  stu  where age is null;

--查询姓名不为null的学生记录
--is not null
select  *  from  stu  where sname is not null;

--查询年龄在20到40之间的学生记录
--between 小值 and  大值  与age >= 20 and age <=40; 一样
select  *  from  stu where age >= 20 and age <=40;
select  *  from  stu where  age between 20 and 40;

--查询性别非男的学生记录
select  *  from  stu where gender != 'male';
select  *  from  stu where gender <> 'male';
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值