sql查询
Posted 孜然风味
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql查询相关的知识,希望对你有一定的参考价值。
select * from table_name where condition
DISTINCT用于去除重复的行。
select distinct ename from emp;
select * from table_name where condition
设置表头为自己习惯看的形式
col username heading 用户名;
col column_name format dataformat(字符类型只能设置长度)
col username format a10;(a表示字符类型,后面跟位数)
col salary format 9999.9;(数值类型用一个9来表示数字)
col salary format $9999.9;(数据前方就多了一个美元符号)
column column_name clear;清除之前设置的格式
col username clear;
col salary clear;
查询表中的所有字段以及制定字段
查询表中所有字段:
select * from emp;
查询制定的字段
select username,salary from users;
给字段设置别名(这里和上面col的区别是这里查出来的时候显示这样的标题头文字)
select column_name as new_name from table_name
select id as 编号,username as 用户名,salary 工资 from users
去重:
select distinct username as 用户名 from users;
运算符和表达式
算术运算符(+-*/)
比较运算符用在where语句中(>,>=,<,<=,=,<>)
逻辑运算符(and,or,not)
在select中使用运算符
算术运算符:
只在查询结果中体现(),要真的修改表的数据需要使用update字段
select id,salary+200 from emp;
使用比较运算符(在where中使用)
select ename from emp where sal>2000;(找到工资大于2000的员工的姓名)
使用逻辑运算符
select ename from emp where sal>2000 and sal<>5000; 让这条表达式同时为真的数据才过滤数来
带条件的查询,在查询语句中加上where
单一条件查询:select sal from emp where ename=‘KING‘;
select ename,sal from emp where empno=‘7782‘;
多条件查询:select * from emp where ename=‘KING‘ or sal<‘2000‘
运算符优先级:not>and>or
比较运算符优先级高于逻辑运算符
可以使用not 运算符
select * from emp where not(ename=‘KING‘);
模糊查询
(只知道部分内容是什么,不知道全部)
通配符的使用(_:只能代表一个字符,%:代表0到多个字符)
select * from emp where username like ‘K%‘(开头字符为K)
select * from emp where username like ‘_K%‘(第二个字符为K)
select * from emp where username like ‘%K%‘(含有K的字符)
范围查询
between……and
select * from emp where sal between 100 and 1000;
是一个闭合区间,两边取等于号
IN/NOT IN
select * from users where username in(‘aaa‘,‘bbb‘); 或运算符
排序:
order by
select * from users order by id desc(降序)/asc(升序)
select * from users order by id desc ,sal asc;
当前面的字段相等的时候,排在后面的字段才起作用,前面字段相等了,sal才升序排列
case...when...then...else.. 语句
select ename,case ename when ‘KING‘ then ‘老板‘
when ‘ALLEN‘ then ‘经理‘ else ‘普通员工‘
可以多个when...then...结合
加个标题end as 职位
要记得from 表一定要写,不会写入表里,而是显示出来
case when 另一种形式,更灵活
case when column_name = value1 then result1,...else[resule]end
以上是关于sql查询的主要内容,如果未能解决你的问题,请参考以下文章