SQL简单入门第一篇

简介: • DQL:• 数据查询语言(凡是带有select关键字的都是查询语句)• DML:• 数据操作语言(凡是对表当中的数据进行增删改的都是DML)如:insert 增 delete删 update改• DDL:• 数据定义语言:凡是带有create,drop,alter的都是DDL,它主要操作的是表的结构。不是表中的数据• TCL:• 事务控制语言:包括:事务提交:commit;事务回滚:rollback;• DCL:

SQL简单入门第一篇

关于SQL语句的分类

  • 分为:
  • DQL:
  • 数据查询语言(凡是带有select关键字的都是查询语句)
  • DML:
  • 数据操作语言(凡是对表当中的数据进行增删改的都是DML)如:insert 增 delete删 update改
  • DDL:
  • 数据定义语言:凡是带有create,drop,alter的都是DDL,它主要操作的是表的结构。不是表中的数据
  • TCL:
  • 事务控制语言:包括:事务提交:commit;事务回滚:rollback;
  • DCL:
  • 数据控制语言:例如:授权grant,撤销权限revoke……

查询所有字段

  • 第一种方式:可以把每一个字段都写上select a,b,c,d,e,f... form 字段名;
  • 第二种方式:可以使用*select * form dept;
    但是这种方式的缺点:1.效率低2.可读性差在实际的开发中不建议,你如果想自己玩玩没问题

起别名

  • 使用as关键字
    select deptno,dname as deptname from dept;
  • 使用as关键字起别名
  • 注意:只是将显示的查询结果列名显示为deptname,原表名还是叫:dname;select语句永远只是进行查询
  • 那么as关键字可以省略嘛?当然是可以的
    select deptno,dname(这里有空格) deptname from dept;
  • 那么如果中间出现空格的话是否还会继续执行呢?会报错就像这样select deptno,dname dept(这里打了空格)name from dept;
  • 那么怎么解决呢?+单引号/双引号
    select deptno, deptno,dname 'dept name' from dept;
    select deptno,deptnp,dname "dept name" from dept;
    但是需要注意的是:在所有的数据库当中,字符串统一使用单引号,这是标准,双引号在Oracle数据库中用不了。

条件查询

  • select
    字段1,字段2,字段3.....
  • from
    表名
  • where
    条件;

都有哪些条件

运算符 说明
= 等于
<>或!= 不等于
< > 小于,大于
<= 小于等于
>= 大于等于
between...and.. 两个值之间
is null 为空
and 并且
or 或者
in 包含
not
like 模糊查询,可以使用%或者下划线,但下划线只匹配单个字符
  • = 等于查询薪资等于800等员工姓名和编号
    select empno,ename from emp where sal =800;
  • <>或!= 不等于查询薪资不等于800的员工姓名和编号
    select empno,ename from emp where sal !=800;
    select empbo,ename from emp where sal <>800;
  • < 小于 >大于
    查询薪资小于800的员工姓名和编号
    select empno,ename from emp where sal<800;
    查询薪资小于800的员工姓名和编号
    select empno,ename from emp where sal>800;
  • <= 小于等于  >=大于等于
    查询薪资小于等于3000的员工姓名和编号
    select empno,ename,sal from emp where sal <=3000;
    查询薪资小于等于3000的员工姓名和编号
    select empno,ename,sal from emp where sal >=3000;
  • between...and... 介于两个值之间
    查询薪资在3000-3500之间的员工姓名和编号
    select empnp,ename,sal from emp where sal between 3000 and 3500;
    注意:使用between and的时候必须左小又大
  • is null  为null
    查询哪些人补助为null
    select empno,ename,sal,comm from emp where comm is null;
    注意:在数据库中null不能使用等号进行衡量。需要使用is null因为数据库中的null代表什么也没有,它不是一个值
  • and 并且
    查询工作岗位是MANACER并且工资大于2500的员工信息
    select empno,ename,job,sal from emp where job = "MANACER" and sal > 2500;
  • or 或者
    查询工作岗位是MANAGER和SALESMAN的员工
    select empno,ename,job from emp where job='MANAGER' or job='SALESMAN';
  • in(‘值1’,‘值2’,...)相当于多个or
    查询工作岗位是MANAGER和SALESMAN的员工
    selecet empno,ename,job from emp where job in('MANAGER','SALESMAN');
    注意:in不是像between and那样是一个区间,而是确确的值
  • not 表示不在这几个值当中的数据
    找出员工薪资不是800,5000,3000
    select ename,sal from emp where job not in(800,5000,3000);
    注意:not主要用在in和is中如:isnull,is not null,in not in;
  • like 模糊查询 %匹配多个字符_匹配一个字符
    找出名字以W结尾的
    select ename from emp where ename like '%W';
    找出名字以Y开始的
    select ename from emp where ename like 'Y%';
    找出第二个字母是A的
    select ename from emp where ename like '_A';
    找出第三个字母是R的
    select ename from emp where ename like '__R%';
    找出名字中含有_的  使用\转义字符
    select ename from emp where ename like '%\ _%'

排序

  • select
    字段名1....
  • from
    表名
  • order by
    字段名1...;
  • 查询所有员工薪资
    select ename,sal from order by sal;
    升序降序
  • desc降序,asc升序
    查询员工名字和薪资,要求按照薪资升序,如果薪资一样的话,再按照名字升序排列
    select ename,sal from emp order by sal asc,ename asc;
  • 了解一下:根据字段的位置也可以排序
    select ename,sal from emp order by 2;-- 表示第二列,但是不太建议这样用,因为如果新添加一列那么就没有用了。健壮性差
  • 综合题:找出工资再2000-5000之间的员工信息,要求按照薪资降序排列
    select ename,sal from emp where sal between 2000 and 5000 order by sal desc;
  • 执行顺序:from>where>select>order by
相关文章
|
9月前
|
SQL 关系型数据库 MySQL
【MySQL入门到精通-黑马程序员】MySQL基础篇-SQL概述及DDL
(精度指数的所有位数;标度指小数点后数的位数) 字符串类型
78 0
|
10月前
|
SQL 关系型数据库 MySQL
数据库基础入门 — SQL运算符
数据库基础入门 — SQL运算符
60 0
|
3天前
|
SQL 存储 关系型数据库
数据库SQL入门指南
数据库SQL入门指南
|
2天前
|
SQL 数据库 索引
SQL语言入门:如何表达你的数据需求
在数据库的世界里,SQL(Structured Query Language)是一种至关重要的语言,它允许用户与数据库进行交互,执行数据的查询、更新、插入和删除等操作
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL从入门到精通】常用SQL语句分享
【MySQL从入门到精通】常用SQL语句分享
38 2
|
2月前
|
SQL 存储 安全
SQL入门与进阶:数据库查询与管理的实用指南
一、引言 在数字化时代,数据库已经成为各行各业存储、管理和分析数据的关键基础设施
|
3月前
|
SQL 关系型数据库 数据库
SQL Server语法基础:入门到精通
SQL Server语法基础:入门到精通
100 9
SQL Server语法基础:入门到精通
|
2月前
|
SQL 关系型数据库 MySQL
MySQL数据库数据模型概念入门及基础的SQL语句2024
MySQL数据库数据模型概念入门及基础的SQL语句2024
28 0
|
2月前
|
SQL 数据挖掘 数据库
深入理解SQL从入门到避坑
深入理解SQL从入门到避坑
|
3月前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句