DQL——基础查询

本文详细介绍了MySQL的查询语句,包括选择单个或多个字段、查询所有字段、使用常量值和表达式、应用函数、设置别名、去重、使用+号进行运算以及使用CONCAT和IFNULL函数。还给出了多个实际案例,如通过CONCAT连接字段、使用IFNULL处理NULL值以及如何创建带有逗号分隔的输出。
摘要由CSDN通过智能技术生成

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

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

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

USE employees;

1.查询表中的单个字段

   select 字段名 from 表名;

SELECT last_name FROM employees;

2.查询表中的多个字段

  select 字段名,字段名 from 表名;

SELECT last_name,salary,email FROM employees;

 3.查询表中的所有字段

  select * from 表名

方式一:  ` 符号是着重号,用于区分关键字和字段,可省略

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

方式二:或者可使用星号

SELECT * FROM employees;

4.查询常量值

  select 常量值;
  注意:字符型和日期型的常量值必须用单引号引起来,数值型不需要

SELECT 100;
SELECT 'john';

5.查询表达式

SELECT 100*20;

6.查询函数(方法)

  select 函数名(实参列表);

SELECT VERSION();

7.起别名( as  空格)

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

方式一:使用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;

8.去重 使用关键字 distinct

  select distinct 字段名 from 表名;

案例:查询员工表中涉及到的所有的部门编号

SELECT DISTINCT department_id FROM employees;

9.+号的作用

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

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

  • concat函数:拼接字符

        select concat(字符1,字符2,字符3,...);

SELECT CONCAT('a','b','c') AS 结果;


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

案例讲解:
   显示出表employees中的全部列,各个列之间用逗号连接,列头显示成out_put

  • ifnull函数:功能:判断某字段或表达式是否为null,如果为null 返回指定的值,否则返回原本的值

          select ifnull(commission_pct,0) from employees;

SELECT 
  IFNULL(commission_pct, 0) AS 奖金率,
  commission_pct 
FROM
  employees ;
SELECT 
  CONCAT(
    `first_name`,
    ',',
    `last_name`,
    ',',
    `email`,
    ',',
    IFNULL(commission_pct, 0)
  ) AS out_put 
FROM
  employees ;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值