mysql查球队胜场和败场sql,mysql的基本查询(等于,不等
于,。。。
单个字段多个字段查询
查询员⼯姓名
*注:在SQL语句中不区分⼤⼩写;SQL语句以“;”分号结束
select ename from emp;
注:select询句后⾯跟的是字段名称,select是关键字,select和字段名称之间采⽤空格隔开,from表⽰将要查寻的表,它和字段之间采⽤空格隔开
查寻员⼯编号和员⼯姓名
*注:多个字段查询时,字段与字段之间⽤“,”隔开
select empno,ename from emp;
查询全部字段
我们可以将所有字段放到 select 询句之后,这种⽅案不⽅便,但是⽐较清楚,我们可以采⽤下⾯的⽅式查寻全部字段。
select * from emp;
注:采⽤select * from emp,虽然简单,但是 * 号不是很明确,并且 select * 语句会先去编译,将“*”转换成字段,建议查询全部字段将相关字段写到select语句的后⾯,在以后Java 连接数据库的时候,是需要在java程序中编写SQL语句的,这个时候编写SQL语句不建议使⽤ select * 这种形式,建议写明字段,这个SQL语句的可读性强。
查询员⼯年薪及字段别名
列出员⼯的编号,姓名和年薪
select empno,ename,sal*12 from emp;
注:字段上可以使⽤数学表达式,只要SQL语句中有 select 关键字,不会修改底层数据库字段的值;
将查诟出来的字段重命名和显⽰为中⽂
select empno,ename,sal * 12 as yearsal from emp;
或者 select empno,ename,sal * 12 yearsal from emp;
select empno,ename,sal * 12 as ‘年薪’from emp;
或者 select empno,ename,sal * 12 ‘年薪’from emp;
select empno,ename,sal * 12 as “年薪”from emp;
或者 select empno,ename,sal * 12 “年薪”from emp;
注:
1. 重命名为中⽂时必须加单引号戒双引号;
2. 标准SQL询句中类型为字符串时必须加单引号,加单引号适⽤亍任何数据库;
3. SQL询句中类型为字符串时也可加双引号,叧适⽤亍MySQL数据库中;
4. 为了SQL询句的通⽤性,建议全部使⽤单引号;
条件查询介绍
注意:条件查寻需要⽤到 where 询句,where 必须放到 from 询句表的后⾯;执⾏顺序:先from再where过滤后再检索出来。
条件查询⽀持的运算符
⽀持如下运算符
运算符 说明
= 等于
<>或!= 不等于
< ⼩于
<= ⼩于等于
> ⼤于
>= ⼤于等于
between … and …. 两个值之间,等同于 >= and <=
is null 为null(is not null 不为空)
and 并且
or 或者
in 包含,相当于多个or(not in不在这个范围
中)
not not可以取⾮,主要⽤在is 或in中
like like称为模糊查询,⽀持%或下划线匹配
%匹配任意个字符
下划线,⼀个下划线只匹配⼀个字符
区间查询
查询薪⽔为1600到3000的员⼯(第⼀种⽅式:采⽤>=、<=)
select empno,ename,sal from emp where sal >= 1600 and sal <= 3000;查询薪⽔为1600到3000的员式(第⼆种⽅式:采⽤between…and…)
select empno,ename,sal from emp where sal between 1600 and 3000;注:关于between … and … 它是包含最⼤值和最⼩值的
(了解)between … and … 同样也可⽤在字符上,⽤在字符上区间为:前闭后开;select ename from emp where ename between "A" and "F";
不等号(<>、i=)操作符
查询薪⽔不等于 5000 的员⼯
select empno,ename,sal from emp where sal <> 5000;
以下写法等同于以上的写法,建议使⽤第⼀种写法
select empno,ename,sal from emp where sal != 5000;
数值也可以采⽤单引号引起来,如下语句也是正确,但不建议,原因MySQL数据库做数据类型⾃动转换
select empno,ename,sal from emp where sal <> "5000";
查询⼯作岗位不等于MANAGER的员⼯
select empno,ename,job from emp where job <>“MANAGER‟;
等号运算符
查询薪⽔为5000的员⼯
select empno,ename,sal from emp where sal = 5000;
查询 job 为 MANAGER 的员⼯
错误:select empno,ename,job from emp where job = MANAGER;什么叫数据库管理系统
以上查询结构出现错误,因为 job 字段为字符串,所以出现了以上错误信息;
正确:select empno,ename,job from emp where job =“manager”;
select empno,ename,job from emp where job = "manager"可使⽤单引号
select empno,ename,job from emp where job = "MANAGER";
socket编程井字棋以上输⼊结果输⼊结果正确,MySQL默认情况下⼤⼩写不敏感;
注意:
MySQL在windows下是不区分⼤⼩写的,将script⽂件导⼊MySQL后表名也会⾃动转化为⼩写,结
果再想将数据库导出放到linux服务器中使⽤时就出错了。因为在linux下表名区分⼤⼩写⽽不到表,查
了很资料都说在linux下更改MySQL配置使其也不区分⼤⼩写,但是有没有办法反过来让windows下⼤⼩
写敏感呢?其实⽅法是⼀样的,相应的更改windows中MySQL的设置就⾏了。
具体操作:在MySQL的配置⽂件my.ini中增加⼀⾏:lower_case_table_names = 0
is运算符
is null
sql定义子语句实验Null 为空,它不是⼀个数值,不是⼀个空串,为null可以设置这个字段不填值,如果查询为null的字段,采⽤is null。查询津贴为空的员⼯
错误:select empno,ename,comm from emp where comm = null;
原因:以上⽆法查询出符合条件的数据,因为null类型⽐较特殊,必须使⽤ is 来⽐较
正确:select empno,ename,comm from emp where comm is null
查询津贴不为空的员⼯
select empno,ename,comm from emp where comm is not null;
like模糊查询
like可以实现模糊查询,like⽀持%和下划线匹配
查询以姓名以 M 开头的所有员⼯‘M%’
select ename from emp where ename like "M%";
查询姓名以N结尾的所有员⼯‘%N’
configure vjoy改不了18select ename from emp where ename like "%N";
查询姓名中包含O的所有员⼯‘%O%’
select ename from emp where ename like "%O%";
查询姓名中第⼆个字符为A的所有员⼯‘_A%’
select ename from emp where ename like "_A%";
查询姓名中倒数第⼆个字符为E的所有员⼯‘%E_’
select ename from emp where ename like "%E_"
查询姓名中第三个字符为N的所有员⼯姓名‘__R%’
select ename from emp where ename like "__R%";
数据排序概述
单⼀字段排序 order by 字段名称
作⽤:通过哪个或哪些字段进⾏排序
含义:排序采⽤ order by ⼦句,order by 后⾯跟上排序字段,排序字段可以放多个,多个采⽤逗号间隔,order by默认采⽤升序(asc),如果存在 where ⼦句,那么 order by 必须放到where 询句后⾯。
1)按照薪⽔由⼩到⼤排序(系统默认由⼩到⼤)
select ename,sal from emp order by sal;
2)取得job为MANAGER的员⼯,按照薪⽔由⼩到⼤排序(系统默认由⼩到⼤)
select ename,job,sal from emp where job = …MANAGER‟order by sal;
如果包含 where 语句 order by 必须放到where后⾯,如果没有where语句order by放到表的后⾯;
3)以下询法是错诣的:
a) select * from emp order by sal where
b) select * from emp order by sal where job = ‘MANAGER’;
通过字段排序
⼿动指定按照薪⽔由⼩到⼤排序(升序关键字 asc)
select ename,sal from emp order by sal asc;
⼿动指定按照薪⽔由⼤到⼩排序(降序关键字desc)
select ename,sal from emp order by sal desc;
按照 job 和薪⽔倒序排序
select ename,job,ename from emp order by job desc,sal desc;
注意:如果采⽤多个字段排序,如果根据第⼀个字段排序重复了,会根据第⼆个字段排序;
单⾏数据处理函数
数据处理凼数(单⾏处理凼数)
Lower 转换⼩写
tftpput命令upper 转换⼤写
substr 取⼦串(substr(被截取的字符串,起始
mysql语句的执行顺序下标,截取的长度))
length 取长度
trim 去空格
str_to_date 将字符串转换成⽇期
date_format 格式化⽇期
format 设置千分位
round 四舍五⼊
rand() ⽣成随机数
Ifnull 可以将null转换成⼀个具体值
注意:数据处理函数是该数据本⾝特有的,有些函数可能在其它数据库不起作⽤;
转换⼤⼩写函数
lower(字段名)函数: 转换为⼩写
⽤法:lower(要转换字段名称)
查询员⼯姓名,将员⼯姓名全部转换成⼩写
select lower(ename) as ename from emp;
upper(字段名)函数:转换为⼤写
⽤法:upper(要转换字段名称)
查询员⼯姓名,将员⼯姓名全部转换为⼤写
select upper(ename) as ename from emp;
数据处理函数_length和trim函数
length(字段名)函数:取字段长度
⽤法:length(字段名称)
取得员⼯姓名长度
select ename,length(ename) as nameLength from emp;
数据处理函数_round四舍五⼊函数
round(数字,保留⼩数位数)函数:四舍五⼊⽤法:round(要四舍五⼊的数字,四舍五⼊到哪⼀位),默认保留整数位保留整数位 截取保留⼩数位 : select round(125.18) ;或者select round(125.18,0);
保留1位⼩数:select round(125.18,1);
保留2位⼩数:select round(125.18,2);
数据处理函数_rand随机函数
rand()凼数:⽣成随机数
⽣成⼀个 0≤ v ≤ 1.0的随机数; 1)
select rand();
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论