五、DQL语言


文章目录

  • 五、DQL语言
  • 5.4.查询时注意的细节
  • 5.5.查询常量、字符串、表达式、函数
  • 5.5.1.查询常量
  • 5.5.2.查询字符串
  • 5.5.3.查询表达式
  • 5.5.4.查询函数
  • 5.5.5.起别名
  • 5.5.6.去重名
  • 5.5.7.加号的作用
  • 5.5.8.判断某一项是否为NULL


5.4.查询时注意的细节

  • 要查询某个库里的字段,先进入该库
    use test
  • 使用ESC下面的着重号标识字段,避免机器将字段误认为关键字
SELECT `name` FROM employees;
#在客户端中,若是name这个字段不适用
#着重号,客户端会将其误认为是关键字name
  • 要将什么命令进行格式化,要先将命令选中,然后按F12
  • 要运行什么就选中什么,再去运行达到精确运行目的,类似java中,在代码中右击运行可靠性比直接点击运行按钮强,否则,容易出现运行的还是历史代码

5.5.查询常量、字符串、表达式、函数

5.5.1.查询常量

select 100;

mysql字段常量 mysql常量的使用_mysql

查询常量不需要使用from,因为不需要指定特定的某个表,单纯地找出常量

5.5.2.查询字符串

在SQL中,不区分字符和字符串,二者一视同仁,用英文输入法单引号括起来

select 'yanyu666'; select 'john'; #查询字符串‘yanyu666’

mysql字段常量 mysql常量的使用_java_02

5.5.3.查询表达式

在select后面输入一个表达式

select 450+9; select 10%3;

mysql字段常量 mysql常量的使用_java_03

mysql字段常量 mysql常量的使用_字符串_04

5.5.4.查询函数

select+函数

select version(); #查询版本

mysql字段常量 mysql常量的使用_字符串_05

5.5.5.起别名

  • 对于重名的字段可以使用别名进行区分
  • 起别名,便于记忆和表达

方式1:select+对象+别名

方式2:使用空格代替as

select 100*12 as 乘法结果; #先进入myemployees库 use myemlpoyees; select last_name as 姓,first_name as 名 from employees;

mysql字段常量 mysql常量的使用_sql_06

mysql字段常量 mysql常量的使用_sql_07

特例:

  • 别名带有空格或者其它会产生歧义的字符时,使用双引号或者单引号在MySQL中建议使用双引号

select salary as "put into table" from employees;

mysql字段常量 mysql常量的使用_sql_08

5.5.6.去重名

select distinct 字段 from 表

select distinct department_id from employees;

  • 去重前,大量数据冗余,占用存储空间
  • 去重后

5.5.7.加号的作用

背景:在java中加号的作用,可以是字符串连接符、运算符、自增

问题:如哈在MySQL将两个字符串连接起来呢?

使用concat(元素1,元素。。。。)

注意:当参与拼接的字段中有null参与时,结果必定为null

  • 在MySQL中加号只有运算符作用
  • MySQL作用分类:
  • 整型+整型------加法运算
  • 字符串+整型
  • 自动将字符串转换为整型成功了的话,继续加法运算
  • 自动将字符串转换为整型失败了的话,等于0+整型并计算出结果
  • null参与下,只要两个数中又有个是null结果必定为null
SELECT 'yanyu'+23;
SELECT NULL+23;
SELECT '12'+12;

mysql字段常量 mysql常量的使用_sql_09

  • 转换失败,等于0+23

mysql字段常量 mysql常量的使用_字符串_10

  • null参与结果为null
  • 转换成功
  • 将”姓“和”名“连接起来
select concat(last_name,first_name) as 名字 from employees;
desc departments;
#显示departments这个表的结构

mysql字段常量 mysql常量的使用_mysql字段常量_11

mysql字段常量 mysql常量的使用_java_12

5.5.8.判断某一项是否为NULL

  • ifnull(对象,返回值) as 别名
  • 奖金率commission_pct 可能为NULL
select ifnull(commission_pct,0) as 奖金率,commission_pct from employees;
/*
如果commission_pct为NULL,则返回值为0
*/

mysql字段常量 mysql常量的使用_mysql字段常量_13

SELECT CONCAT(`last_name`,`first_name`,`email`,IFNULL(`commission_pct`,0)) AS "put into" FROM employees;

mysql字段常量 mysql常量的使用_java_14