ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【DQL】总结(一):基础查询

2021-09-29 20:02:53  阅读:161  来源: 互联网

标签:总结 name employees 查询 select DQL 100 SELECT


文章目录

1 语法

语法:
select 查询列表 from 表名;

类似于:system.out.println(打印东西);

特点:

  • 1、查询列表可以是:表中的字段常量值表达式函数
  • 2、查询的结果是一个虚拟的表格

2 查询表中的字段

# 查询单个字段
SELECT last_name FROM employees;
# 查询多个字段
SELECT last_name, email FROM employees;
# 查询所有字段
SELECT * from employees;
  • 一个细节问题,当字段名与sql关键字重名时,用反引号转义
select name from emp;
# 进行转义操作
select `name` from emp;

3 查询常量值

SELECT 100; 
# sql不区分字符和字符串,用单引号和双引号都可以
SELECT 'hello world';
SELECT "hello world";

4 查询表达式

SELECT 100 + 2;
SELECT 100 - 2;
SELECT 100 * 2;
SELECT 100 / 2;
SELECT 100 % 2;

# 查询年薪
SELECT employee_id, last_name, salary * 12 as "Annual Salary" from employees;

5 查询函数

# 查询数据库版本
SELECT VERSION();
# 查询当前使用的库
SELECT DATABASE();

6 起别名

  • 1、便于理解
  • 2、如果要查询的字段有重名的情况,使用别名可以区分开来
SELECT 100%98 AS 取余结果;
SELECT first_name as 姓, last_name as 名 from employees;
# as关键字可以省略
SELECT first_name 姓, last_name 名 from employees;
# 如果别名中有关键字,用引号、反引号转义,推荐用双引号
SELECT salary as `out put` FROM employees;
SELECT salary as 'out put' FROM employees;
SELECT salary as "out put" FROM employees;

7 去重

SELECT department_id from employees ;
# 在字段名前加上DISTINCT,否则会语法错误
SELECT DISTINCT department_id from employees;

8 +号的作用

  • java中的+号:
    运算符,两个操作数都为数值型
    连接符,只要有一个操作数为字符串
  • mysql中的+号:
    仅仅只有一个功能:运算符
# 两个操作数都为数值型,则做加法运算
select 100+90;
# 只要其中一方为字符型,试图将字符型数值转换成数值型
# 如果转换成功,则继续做加法运算
select 123'+ 90;
# 如果转换失败,则将字符型数值转换成0 
select 'john'+90; 
# 只要其中一方为null,则结果肯定为nu1l
select null+10;
# 如果一方为null,一方为字符串,则结果还是null
SELECT NULL + '1';
SELECT '1' + NULL;

# 想要实现连接两个字符串的效果,可以使用concat()函数
SELECT CONCAT(last_name," ",first_name) as 姓名 from employees;

9 显示表结构

desc employees;

10 ifnull函数


# ifnull(exp1, exp2)
# exp1为要判断是否为空的字段名,若为空,则显示为exp2的值,否则显示原来的值
SELECT IFNULL(commission_pct,0) as 奖金率, commission_pct from employees;

参考资料

1.MySQL基础教程丨mysql数据库实战(sql数据库优化)

标签:总结,name,employees,查询,select,DQL,100,SELECT
来源: https://blog.csdn.net/Awt_FuDongLai/article/details/120544007

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有