zoukankan      html  css  js  c++  java
  • Mysql基础(一)-查询笔记

    最近在b站学习mysql,做下简单记录

    sql基础查询

    进阶一:

    特点:

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

    先打开库

    use myemmployees;

    select 用来查询
    desc 用来显示表结构


    1.查询表中单个字段

    如:

    select last_name from employees;

    2.查询表中的多个字段

    select last_name,salary,email from employees;
    

    3.查询表中所有字段

    select * from employees;
    

    4.查询常量值

    select 100;
    select 'john';
    

    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
     (此处因为out是关键字,故所以需要将Out put用引号引起来才能显示出)
    

    8.去重

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

    select distinct department_id from employees;
    

    若不加 distinct 则有些相同的部门编号会重复出现,加上后不同的部门编号只会出现一次

    9.+的作用

    java中的+号:

    1. 做运算符
    2. 做连接符,只要有一个操作为字符串

    mysql中的+号:

    仅仅只有一个功能:做运算符

    如:

    select 100+90;两个操作数都为数值型,则作加法运算

    select '123'+90:如其中一方为字符型,试图将字符型转化为数值型,如果转换失败,则将字符型数值转化为0,再做加法运算

    select 'john'+90 如果转换失败,则将字符型数值转化为0,再做加法运算

    select null+10; 只要有一方为null,则结果肯定为null

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

    使用concat()函数进行拼接

    select concat('a','b','c') AS 结果
    SELECT CONCAT(last_name,first_name) AS 姓名 FROM employees;
    

    进阶二:##

    语法:</br>
    select  查询列表  from  表名  where  筛选条件
    

    筛选条件的分类:

    1. 按条件表达式筛选

      条件运算符: >,<,= != < >= <=
    2. 按逻辑表达式筛选:

      逻辑运算符:&& || ! and or not
    3. 模糊查询

      like,between and in is null

    一. 按条件表达式筛选

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

    select from emplomees where salary>12000;
    

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

    select last_name,department_id from emplyees where department_id!=90
    

    二. 按逻辑表达式筛选

    案例1:查询工资z在10000到20000之间的员工名,工资及奖金

    select last_name,salary,commission_pct from emplyees where salary>=10000 AND salary<=20000
    

    三. 模糊查询

    like

    特点:一般和通配符搭配使用

    between and

    特点:包含临界值

    in

    特点:in列表的值类型必须一致或是兼容

    is null is not null

    特点:= !=不能判断带null的值

    1. like

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

    select * from employees where last_name like '%a%';
    

    案例2:查询员工名中第三个字符为e,第五个字符为a 的员工名和工资

    select last_name,salary from employees where last_name like '__e_a';
    

    2. between and

    案例1:查询员工编号在100到129之间的员工信息

    select * from employees where employees_id>=100 and employees_id<=120
    

    或是
    select * from employees where employees_id between 100 and 120

    3. in

    案例1:查询员工工种编号是IT_PROG,AD_VP中的一个员工名和工种编号

    select last_name ,job_id from employees where job_id='IT_PROG' or job_id='AD_VP';
    

    或是
    select last_name ,job_id from employees where job_id in ('IT_PROG' ,'AD_VP');

    4. is null

    案例1:查询没有奖金的员工名

    select last_name from employees where commission_pct is null
    

    <=>安全等于 用于判断是否等于

    is null 仅仅用于判断 是否为null值

    进阶三:##排序查询

    即显示出一个排序后的结果
    语法:

    select 查询列表 from 表 【where 筛选条件】 order by 排序列表 【asc|desc】

    案例1:查询员工信息,要求工资从高到低排序

    select * from employees order by salary desc;(降序)
     select * from employees order by salary asc;(升序,默认是升序)
  • 相关阅读:
    使用MyEclipse可视化开发Hibernate实例
    Query查询
    Java Filter过滤机制详解(转载)
    持久化对象的状态转换
    经典SQL语句大全
    持久对象的生命周期
    Mysql命令操作
    hibernate常用的接口和类的方法以及持久化对象的状态变化
    mysql的安装
    Visual C# 2008+SQL Server 2005 数据库与网络开发 10.8 小结
  • 原文地址:https://www.cnblogs.com/pathjh/p/12333206.html
Copyright © 2011-2022 走看看