MySQL中DQL数据查询语句怎么编辑
发布时间:2022-02-16 23:11:55 所属栏目:MySql教程 来源:互联网
导读:基础查询 语法:select 查询列表 from 表名; 特点: 查询列表可以是:表中的字段、常量值、表达式、函数。 查询的结果是一个虚拟的表格。 执行顺序:from select (先找到表,再开始查询) 注意:`是着重号,当某张表中的字段与关键字冲突时,可以在该字段两边加
基础查询 语法:select 查询列表 from 表名; 特点: 查询列表可以是:表中的字段、常量值、表达式、函数。 查询的结果是一个虚拟的表格。 执行顺序:from > select (先找到表,再开始查询) 注意:`是着重号,当某张表中的字段与关键字冲突时,可以在该字段两边加上着重号,以标明其是一个字段,而不是关键字(如`name`)。 【基础查询】# 选中样本库USER myemployees;# 1.查询表中的单个字段SELECT last_name FROM employees;# 2.查询表中的多个字段SELECT last_name,salary,email FROM employees;# 3.查询表中所有的字段SELECT * FROM employees;# 4. 查询常量值SELECT 'Tom';# 5.查询表达式SELECT 7%6;# 6. 查询函数SELECT VERSION();# 7.起别名(mysql中建议将起别名使用双引号引起来"别名")/* 优点:便于理解;连接查询时,如果要查询的字段有重名情况,可以使用起别名来区分 */# 方式一,使用asSELECT 7%6 AS 结果;SELECT last_name AS 姓,first_name AS 名 FROM employees;# 方式二,使用空格SELECT 7%6 结果;SELECT last_name 姓,first_name 名 FROM employees;# 查询员工号为176的员工的姓名、部门、nianxinSELECT last_name,department_id,salary*12*(1+IFNULL(commission_pct,0)) AS 年薪 FROM employees; # 8.去重SELECT DISTINCT department_id FROM employees;# 9.+号的作用/* select 13+21; 两个操作数都是数值型,自动做加法运算 其中一个为字符型,则将字符型转换为数值型 select '13'+1; 转换成功,做加法运算 select 'hello'+1; 转换失败,将字符型转换为0 select null+10; 只要其中一方为null,结果就为null 补充ifnull函数:SELECT IFNULL(commission_pct,0) AS 奖金率,commission_pct FROM employees; mysql中用来拼接的不是+号,而是concat函数 */SELECT CONCAT(last_name,first_name) AS "姓名" FROM employees; 基础查询总结 说明 1.查询表中的单个字段 select 字段1 from 表; 2.查询表中的多个字段 select 字段1,字段2,...字段n from 表; 3.查询表中的所有字段 select * from 表; 4.查询常量值 select '常量值;' 5.查询表达式 select 数值1 表达式 数值2; 6.查询函数 select f(); 7.起别名 as 8.去重 distinct 9.拼接使用concat函数,而不是"+" concat(last_name,first_name) 学完了基础查询,尝试完成下面的练习题 答案: 1.正确 2.正确 3.应在英文状态下使用引号 4.DESC departments;;SELECT * FROM departments; 5.SELECT CONCAT(first_name,',',last_name,',',IFNULL(email,0)) AS "out_put" FROM employees; 条件查询 语法:select 查询列表 from 表名 where 筛选条件; 执行顺序:from > where > select (先定位到表,然后开始筛选,最后走查询) 分类: (1)按条件运算符筛选 条件运算符有: > < = >= <= !=(或<>) (2)按逻辑表达式筛选 支持&& || !,但推荐使用and or not 逻辑表达式作用:用于连接条件表达式 &&或and: 两个都为true,结果为true,反之为false ||或or : 只要有一个条件为true,结果即为true,反之为false !或not : 取反 (3)模糊查询 模糊查关键字:like、between and、in、is null (1)like关键字 可以判断字符型或数值型 like一般和通配符搭配使用,通配符有 %:代表任意多个字符,包含0个 _:代表任意单个字符 (2)between...and关键字 可以提高语句简洁度 包含临界值 两个临界值不能调换顺序 (3)in关键字 可以提高语句简洁度 in列表的值类型必须一致 (4)is null 取反是 is not null 【条件查询】(1)按条件运算符筛选# 1.查询工资>12000的员工SELECT * FROM employees WHERE salary > 12000 ;# 2.查询部门编号不等于90的员工名和部门编号SELECT department_name, department_id FROM departments WHERE department_id<>90;---------------------------------------------------------------------------------------------------------------------(2)按逻辑表达式筛选# 1.查询工资在10000到20000之间的员工名、工资以及奖金率SELECT last_name,salary,commission_pct FROM employees WHERE salary>=10000 AND salary<=20000;# 2.查询部门编号不是在90到110之间的,或工资高于15000的员工信息SELECT * FROM employees WHERE NOT(department_id>=90 AND department_id<=110) OR salary>15000;---------------------------------------------------------------------------------------------------------------------(3)模糊查询# (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 '_$_%' ESCAPE '$';# (2)between...and关键字# 1.查询员工编号在100到120的员工信息SELECT * FROM employees WHERE employee_id BETWEEN 100 AND 120;# (3)in关键字# 1.查询员工的工种编号是IT_PROG、AD_VP、AD_PRES中的员工名和工种编号SELECT last_name,job_id FROM employees WHERE job_id IN('IT_PROG','AD_VP','AD_PRES');# (4)is null# 1.查询没有奖金的员工名和奖金率SELECT last_name,commission_pct FROM employees WHERE commission_pct IS NULL;# is null仅仅可以用来判断null值;安全等于<=>既可以用来判断null值,又可以用来判断普通值# is null的可读性高于<=>,建议使用is nullSELECT last_name,commission_pct FROM employees WHERE commission_pct <=> NULL; (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |