select

1、起别名(别名不要有特殊符号,要是有,需要加引号引起来)

  #便于理解

  #如果查询的字段有重名的情况,使用别名可以区分开

  select 列名 as 名称,列名 as 名称 from 表;

  或 select 列名  名称,列名 名称 from 表;

2、查询员工表中涉及到的所有部门编号(distinct去重)

  select distinct 列  from 表

3、+号的作用:

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

  select 100+90;  两个操作数都为数值型

  select ‘123’+90; 其中一个为字符串,试图将字符型数值转换成数值型,如果成功,则继续做加法计算

  select ‘Alex’+90;                        如果转换失败,则将字符型数值转换为0

  select null +90  只要一方为null  结果就为null

4、concat:拼接

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

  select concat(列1,列2)as 姓名 from 表;

5、select concat (列1,‘,’,列2,',',ifnull(列3,任意显示))as  名称 from 表;

  注(如果列3为null 拼接的时候就要把他设置一个固定显示值,如果不是null会显示本身值)

进阶2:条件查询

 1、按条件表达式筛选

  条件运算符:>  <  =   <>不等于  >=  <=

  案例1:查询工资>12000的员工信息

  select * from 员工表 where 工资列>12000

  案例2:查询部门编号不等于90号的员工名和部门编号

  select 员工名列 部门编号列 from 员工表 where 部门编号列 <>90

2、按逻辑表达式筛选

   逻辑运算符: and和&&一样:如果两个都为true,结果为true,反之false

          or和||一样:只要有一个为true结果为true,反之false

          not和!一样:如果连接的条件本身为false,结果为true

  案例1:查询工资在10000到20000之间的员工名、工资和奖金

  select 员工名,工资,奖金 from 员工表 where 奖金>=10000 and 奖金<=20000;

3、模糊查询

  like:一般和通配符搭配使用 

      % 任意多个字符,包含0个

      _ 任意单个字符,就1个

  案例1:员工名中包含字符a的员工信息

  select * from 员工表  where 员工名 like ‘%a%’

  between and 

  in

  is null 

 select 查询列表 from 表 where 筛选条件 order by asc(升序)/desc(降序)

  

原文地址:https://www.cnblogs.com/jdwy24/p/14005480.html