基础查询
/*
语法:
select 查询列表
from 表名;
类似于:System.out.println(打印东西);
1、查询列表可以是:表中的字段、常量值、表达式、函数
2、查询的结果是一个虚拟的表格
*/
USE myemployees;
SELECT last_name FROM employees;
SELECT last_name,salary,email FROM employees;
SELECT * FROM employees;
SELECT 100;
SELECT john
;
SELECT 100%98;
SELECT VERSION(); #查看mysql版本
1)便于理解
2)如果要查询的字段有重名,使用别名可以区分开
#方式一(AS):
SELECT 100%98 AS 结果;
SELECT last_name AS 姓,first_name AS 名 FROM employees;
#方式二(直接起):
SELECT last_name 姓,first_name 名 FROM employees;
#方式三(特殊):
SELECT salary AS "OUT put" FROM employees;
使用DISTINCT关键字。
#案例:查询员工表中涉及到的所有部门编号
SELECT DISTINCT department_id FROM employees;
java中的加号:①运算符 ②拼接符(拼接字符串)
mysql中的加号:仅仅作为运算符(若运算一方为字符型,则mysql试图将其转为数值型,转换成功则运算;不成功则将字符型数值转为0。若其中一方为null,则结果一定为null)
#案例:查询员工名和姓链接成一个字段,并显示为 姓名
#字符串拼接使用CONCAT()函数
SELECT CONCAT(last_name,first_name) AS 姓名 FROM employees;
条件查询
/*
语法:
select
查询列表
from
表名
where
筛选条件;
特点:
1、按条件表达式筛选
条件运算符:< > = != <> >=
#案例1:查询员工工资大于12000的信息
SELECT
*
FROM
employees
WHERE
salary>12000;
#案例2:查询部门编号不等于90号的员工名和部门编号
SELECT
last_name,
department_id
FROM
employees
WHERE
department_id<>90;
#案例1:查询工资在10000到20000之间的员工名、工资以及奖金
SELECT
last_name,
salary,
commission_pct
FROM
employees
WHERE
salary>10000&&salary
#案例2:查询部门编号不在90到110之间,或者工资高于15000的员工信息
SELECT
*
FROM
employees
WHERE
!(department_id>=90&&department_id15000;
/*
like(特点:一般和通配符搭配使用【%任意多个字符;_任意单个字符;】)
between and
in
is null
is not null
*/
1)like的使用
特点:一般和通配符搭配使用【%任意多个字符;_任意单个字符】
#案例1:查询员工中包含字符a的员工信息
SELECT
*
FROM
employees
WHERE
last_name LIKE '%a%';
#案例2:查询员工名中第三个字符为n,第五个字符为l的员工名和工资
SELECT
last_name,
salary
FROM
employees
WHERE
last_name LIKE '__n_l%';
#案例3:查询员工名中第二个字符为_的员工名
SELECT
last_name
FROM
employees
WHERE
last_name LIKE '_\_%';
2)between and的使用
特点:①提高语句简洁度 ②包含临界值 ③两个临界值有序
#案例:查询员工编号在100到120之间的员工信息
SELECT
*
FROM
employees
WHERE
employee_id BETWEEN 100 AND 120;
3)in的使用
含义:判断某字段的值是否属于in列表中的某一项
特点:①使用in提高了语句简洁度 ②in列表的值类型必须一致 ③不支持通配符
#案例:查询员工的工种编号是 IT_PROT、AD_VP、AD_PRES的一个员工名和工种编号
SELECT
last_name,
job_id
FROM
employees
WHERE
job_id IN ('IT_PROT','AD_VP','AD_PRES');
4)is null的使用
= 或 <>不能用于判断null值
is null 或 is not null 可以判断null值
#案例1:查询没有奖金的员工名和奖金率
SELECT
last_name,
commission_pct
FROM
employees
WHERE
commission_pct IS NULL;
#案例2:查询有奖金的员工名和奖金率
SELECT
last_name,
commission_pct
FROM
employees
WHERE
commission_pct IS NOT NULL;
5)安全等于 <=><!--=-->
#案例1:查询没有奖金的员工名和奖金率
SELECT
last_name,
commission_pct
FROM
employees
WHERE
commission_pct NULL;
对比is null与
Original: https://www.cnblogs.com/pengpi/p/15540819.html
Author: 默π
Title: MySQL——基础查询与条件查询
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/508050/
转载文章受原作者版权保护。转载请注明原作者出处!