数据库学习笔记(2)——基础查询、条件查询、排序查询

1.基础查询

1.1 语法:

语法:
select 查询列表
from 表名;
特点:
查询列表可以是:字段、常量、表达式、函数
查询的结果是虚拟表格

1.查询表中的单个字段
select 字段名 from 表名;

2.查询表中的多个字段
select 字段名,字段名,字段名 from 表名;
 
3.查询表中所有字段
select * from 表名;

4.查询常量
select 100;
select '字符、字符串';

5.查询表达式
select 100*98;

6.查询函数
select version();

7.起别名
方式一:使用as
select 100%98 as 别名;
方式二:使用空格
select last_name 姓,first_name 名 from employees;
/*
好处:
1.便于理解
2.如果查询的字段有重名的情况,使用别名可以区分开
*/

8.去重
select distinct department_id from employees;

9.+号的作用
功能:仅仅为运算符
select 100+90; 两个操作数都为数值型,则做加法运算
select '123'+90; 其中一方为数值型,试图将字符型数值转换成数值型,如果转换成功则继续做加法运算
select 'join'+90;如果转换失败,则将字符型数值转换成0再做加法运算
select null+10;只要其中一方为null,则结果为null

案例:查询员工名和姓连接成一个字段,显示为姓名
select concat(last_name,first_name) as 姓名 from employees;

1.2 注意的细节

1、在查询前,先切换数据库
2、对字段添加 ``

2.条件查询

2.1 语法

语法:
	select 查询列表 from 表名 where 筛选条件;
分类:
	1.按条件表示式筛选;
	条件运算符:> < = != <> >= <=
	2.按逻辑表达式筛选
	逻辑运算符:&& || ! 
	3.模糊查询
	likebetween andinis null
1.按条件表达式筛选
案例:查询工资>12000的员工信息
select 
	*
from 
	employees
where
	salary > 12000;

2.按逻辑表达式筛选
案例:查询工资在1000020000之间的员工们、工资以及奖金
select 
		last_name
		salary
		commission_pct
from
		employees
where
		salary>=10000 and salary<=20000;

3.模糊查询
3.1 like
特点:
(1)一般和通配符搭配使用
%:任意多个字符,包含0个字符
_:任意一个字符
\:转义字符
案例:查询员工名中包含字符a的员工信息
select * from employees where last_name like '%a%'

3.2 between and
特点:
(1)提高语言简洁程度
(2)包含临界值
(3)两个临界值不能调换顺序
案例:查询员工编号在100120之间的员工信息
select * from employees where employee_id between 100 and 120;

3.3 in 
含义:判断某字段的值是否属于in列表中的某一项
特点:
(1)使用in提高语句简介度
(2in列表的值类型必须一致或兼容
案例:查询员工的工种编号 IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号
select 
		last_name,
		job_id 
from 
		employees 
where 
		job_id in ('IT_PROG' ,'AD_VP' , 'AD_PRES');
3.4 is null
案例:查询没有奖金的员工名和奖金率
select
		last_name,
		commission_pct
from
		employees
where
		commission_pct is null;

4.安全等于 <=>
is null:仅仅可以判断null值,可读性较高,建议使用
<=>:既可以判断null值,又可以判断普通的数值,可读性较低

3.排序查询

语法:
select 查询列表
fromwhere 筛选条件
Order  by 排序列表 asc|desc

特点:
(1asc代表升序,desc代表的是降序,如果不写默认是升序
(2order by 子句中可以支持单个字段、多个字段、表达式、函数、别名
(3order by 子句一般是放在查询语句的最后面,limit子句除外
案例:查询员工信息,要求工资从高到低排序
select * from employees Order by salary desc;
案例:查询部门编号>=90的员工信息,按入职时间的先后进行排序
select * 
from employees 
where department_id>=90 
order by hiredate asc;
案例:查询员工信息,先按工资升序,再按员工编号降序
select *
from employees
Order by salary asc,employees_id desc; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值