10基本查询

零、写在前面

% 代表零个或多个字符(任意个字符)。
_ 代表一个字符。

一、基本查询

1.全表查询
	select * from emp;
2.特定列查询
	select eid,ename from emp;
3.注意
SQL语言大小写不敏感;可以在一行中写多行;各自句一般分行写;
关键字不能被缩写也不能分行;使用缩进提高语句的可读性。

二、列别名

	select ename AS name,deptno dn from emp;
可以在列名和别名之间加入关键字‘AS’。

三、算数运算符

1.描述
	A+B	A和B相加		A-B	A减去B
	A*B	A和B相乘		A/B	A除以B				
	
	A%B	A对B取余		A&B	A和B按位取与		
	A|B	A和B按位取或	A^B	A和B按位取异或		
	~A	A按位取反
2.实例
	select sal +1 from emp;
		查询出所有员工的薪水后加1显示。

四、常用函数

1.求总行数(count)
	select count(*) cnt from emp;
1.count区别
	count(*):所有行进行统计,包括NULL行
	count(1):所有行进行统计,包括NULL行
	count(column):对column中非Null进行统计
2.求工资的最大值(max)
	select max(sal) max_sal from emp;
3.求工资的最小值(min)
	select min(sal) min_sal from emp;
4.求工资的总和(sum)
	select sum(sal) sum_sal from emp; 
5.求工资的平均值(avg)
	select avg(sal) avg_sal from emp;

五、Limit语句

	select * from emp limit 5;
限制查询返回数据的行数。

六、Where语句

	select * from emp where sal > 1000;
将不满足条件的行过滤掉。

七、比较运算符(Between/In/Is Null)

1.描述
	A>=B						A或者B为NULL,则返回NULL;如果A大于等于B,则返回TRUE,反之返回FALSE
	A [NOT] BETWEEN B AND C		如果A,B或者C任一为NULL,则结果为NULL。如果A的值大于等于B而且小于或等于C,则结果为TRUE,反之为FALSE。如果使用NOT关键字则可达到相反的效果。
	A IS NULL					如果A等于NULL,则返回TRUE,反之返回FALSE
	A IS NOT NULL				如果A不等于NULL,则返回TRUE,反之返回FALSE
	IN(数值1, 数值2)			使用 IN运算显示列表中的值
	
	A [NOT] LIKE B				B是一个SQL下的简单正则表达式,如果A与其匹配的话,则返回TRUE;反之返回FALSE。B的表达式说明如下:‘x%’表示A必须以字母‘x’开头,‘%x’表示A必须以字母’x’结尾,而‘%x%’表示A包含有字母’x’,可以位于开头,结尾或者字符串中间。如果使用NOT关键字则可达到相反的效果。
	A RLIKE B, A REGEXP B		B是一个正则表达式,如果A与其匹配,则返回TRUE;反之返回FALSE。匹配使用的是JDK中的正则表达式接口实现的,因为正则也依据其中的规则。例如,正则表达式必须和整个字符串A相匹配,而不是只需与其字符串匹配。
2.实例
	(1)查询工资在500到1000的员工信息
		select * from emp where sal between 500 and 1000;

	(2)查询工资是1500或5000的员工信息
		select * from emp where sal IN (1500, 5000);
		
	(3)查询comm为空的所有员工信息
		select * from emp where comm is null;
3.Like和RLike(两个是string类型)
	(1)查找以2开头薪水的员工信息
		select * from emp where sal LIKE '2%';
		
	(2)查找第二个数值为2的薪水的员工信息
		select * from emp where sal LIKE '_2%';
		
	(3)查找薪水中含有2的员工信息
		select * from emp where sal RLIKE '[2]';

八、逻辑运算符

1.描述
	AND	逻辑并
	OR	逻辑或
	NOT	逻辑否
2.实例
	(1)查询薪水大于1000,部门是30
		select * from emp where sal>1000 and deptno=30;

	(2)查询薪水大于1000,或者部门是30
		select * from emp where sal>1000 or deptno=30;

	(3)查询除了20部门和30部门以外的员工信息
		select * from emp where deptno not IN(20,30);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hao难懂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值