ICode9

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

基础查询DQL

2021-07-04 23:33:29  阅读:141  来源: 互联网

标签:last name employees 基础 查询 表中 DQL SELECT


目录

基础查询DQL

语法:
select 查询列表
form 表名;
特点:
1. 查询列表可以是:表中的字段、常量值、表达式、函数
2. 查询的结果是一个虚拟的表格

先打开想操作的库

USE myemployees;

1. 查询表中的单个字段

SELECT last_name FROM employees;

2. 查询表中的多个字段

SELECT last_name,salary,email FROM employees;

3. 查询表中的所有字段

  • 方式一
    SELECT * FROM employees;

  • 方式二

    `是着重号不是单引号,可以去掉,但是当列表名和数据库原有的一些系统名称重合的时候用着重号区分

SELECT 
  `employee_id`,
  `first_name`,
  `last_name`,
  `email`,
  `phone_number`,
  `job_id`,
  `salary`,
  `commission_pct`,
  `manager_id`,
  `department_id`,
  `hiredate` 
FROM
  employees ;

4. 查询常量值

字符型和日期型的常量值必须用单引号引起来,数值型不需要
SELECT 100;
SELECT 'jonn';

5. 查询表达式

SELECT 100%98;

6. 查询函数

SELECT VERSION();

7. 起别名


1. 便于理解
2. 如果要查询的字段有重名的情况,使用别名可以区分开来

  • 方式一:使用AS
    SELECT 100%98 AS 求余;
    SELECT last_name AS 姓,first_name AS 名 FROM employees;

  • 方式二: 使用空格
    SELECT last_name 姓, first_name 名 FROM employees

案例:查询salary,显示结果为 out put
SELECT salary AS OUT put FROM employees;

会报错,别名中有特殊符号,如空格,#等,把别名加上""
SELECT salary AS "out put" FROM employees;

8. 去重:在字段前面加上 DISTINCT

案例: 查询员工表中涉及到的所有的部门编号
SELECT DISTINCT department_id FROM employees;
SELECT DISTINCT a,b FROM 表名; #错误,不可以给两个及以上的字段去重

9. +的作用


java中的+号:
1. 运算符,两个操作数都为数值型
2. 连接符,只要有一个操作数为字符串

mysql中的+号:
仅仅只有一个功能:运算符

select 100+90;    两个操作数都为数值型,则做加法运算
select '123'+90;  其中一方为字符型,试图将字符型数值转换成数值型,
                  如果转换成功,则继续做加法运算
select 'john'+90; 如果转换失败,则将字符型数值转换成0
select null+10;   只要其中一方为NULL,则结果肯定为NULL

案例:查询员工名和姓连接成一个字段,并显示为姓名

SELECT 
last_name + first_name AS 姓名
FROM
employees;

concat连接函数 功能:拼接函数

SELECT 
CONCAT(last_name,first_name) AS 姓名
FROM
employees;

ifnull 函数

功能: 判断某字段或表达式是否为null, 如果为null,返回指定的值,否则返回原本的值
SELECT IFNULL(commission_pct,0) FROM employees;

isnull 函数

功能: 判断某字段或表达式是否为null,如果是,返回1,否则,返回0

标签:last,name,employees,基础,查询,表中,DQL,SELECT
来源: https://www.cnblogs.com/The-dancing-salted-fish/p/14970381.html

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

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

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

ICode9版权所有