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
相关文章
|
SQL 分布式计算 大数据
SparkSQL 入门指南:小白也能懂的大数据 SQL 处理神器
在大数据处理的领域,SparkSQL 是一种非常强大的工具,它可以让开发人员以 SQL 的方式处理和查询大规模数据集。SparkSQL 集成了 SQL 查询引擎和 Spark 的分布式计算引擎,使得我们可以在分布式环境下执行 SQL 查询,并能利用 Spark 的强大计算能力进行数据分析。
|
SQL 存储 机器学习/深度学习
如何让SQL速度飞起来 入门YashanDB优化器
优化器,SQL引擎的核心组成部分,是数据库中用于把关系表达式转换成最优执行计划的核心组件,影响数据库系统执行性能的关键组件之一。
274 15
|
SQL 存储 数据管理
SQL数据库的使用指南:从入门到精通
随着信息技术的飞速发展,数据库已成为各类企业和组织不可或缺的一部分。作为最流行的数据库管理系统之一,SQL数据库广泛应用于各种场景,如数据存储、数据管理、数据分析等。本文将详细介绍SQL数据库的使用方法,帮助初学者快速入门,并帮助有经验的开发者深化理解。一、SQL数据库基础首先,我们需要理解SQL数
804 2
|
SQL 安全 关系型数据库
SQL自动化注ru-SQLmap入门操作(一)
SQL自动化注ru-SQLmap入门操作(一)
|
SQL 安全 数据库
从入门到精通:Python Web安全守护指南,SQL注入、XSS、CSRF全防御!
【9月更文挑战第13天】在开发Python Web应用时,安全性至关重要。本文通过问答形式,详细介绍如何防范SQL注入、XSS及CSRF等常见威胁。通过使用参数化查询、HTML转义和CSRF令牌等技术,确保应用安全。附带示例代码,帮助读者从入门到精通Python Web安全。
490 6
|
SQL 关系型数据库 数据库
SQL Server语法基础:入门到精通
SQL Server语法基础:入门到精通
893 9
SQL Server语法基础:入门到精通
|
SQL 存储 关系型数据库
数据库SQL入门指南
数据库SQL入门指南
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
SQL 安全 关系型数据库
SQL自动化注茹-SQLmap入门操作(二)
SQL自动化注茹-SQLmap入门操作(二)
|
SQL 关系型数据库 MySQL
【MySQL从入门到精通】常用SQL语句分享
【MySQL从入门到精通】常用SQL语句分享
309 2