iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >有哪些SQL语句
  • 908
分享到

有哪些SQL语句

2024-04-02 19:04:59 908人浏览 泡泡鱼
摘要

这篇文章主要讲解了“有哪些sql语句”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些SQL语句”吧!select 子句主要决定了从表中取出的列

这篇文章主要讲解了“有哪些sql语句”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些SQL语句”吧!

select 子句主要决定了从表中取出的列名,列数以及列的显示顺序等信息,"*"表示查询所有的列,有关select的用法应该结合其它子句的用法。

1.from 子句:

①from子句用于指定被查询的表,试图或快照。
②如果指定多个实体,用逗号讲它们分割。为了查询方便,特别是进行自连接查询时,可以给表起别名。(这里我要说很多刚开始使用sql的朋友开始的时候总觉得这个很简单,没有什么可学的,可是到后来在做一些复杂的sql的时候总是想不起来这一点导致其实不难的sql语句无从下手)。
③如果被查询的实体不在当前的模式中,则必须用模式名来限定该对象。
select *from admin.emp
④若查询远程数据库中的实体,必须使用数据库链路,如果查询分区表中某个分区的数据,则必须使用关键字Partition来指定分区名。
select *from emp@cbf107
select *from emp partition(A_hiredate)

2.where 子句

where 子句用于限定处理的行数,选择满足条件的行,where 子句中的任何逻辑条件都使用比较运算符,满足where子句中逻辑条件的数据被返回或者被处理,在where子句中可以使用列名或表达式。

select ename from emp where deptno=10

①如果列类型为字符型,where ename='smith';(单引号内字符串大小写有区别)
②列类型为数字型deptno=20;
③如果列值取其他列值,可用如下形式表示
where emp.depno=dept.deptno
④in 与 not in 择列的值与值列表中某一个值相符的相关行信息(如果进行"或操作")

查询表EMP中有那些雇员和分析员
select name,job from emp where job in ('clerk','analyst');
查询表EMP中有那些人不是雇员和分析员
select name,job from emp where job not in ('clerk','analyst');

有那些雇员的工资在/不在2000~3000之间
select ename,job,sal from emp where sal between 2000 and 3000;
select ename,job,sal from emp where sal not between 2000 and 3000

select ename,oeptno from emp where ename like 's%';
"%" 匹配0个或n个长度的字符串,而"_"仅匹配一个字符。假如查询条件中本身含有"_"或"%",为了与模式匹配符"_"和"%"区分,必须在like运算符中加ESCAPE"%子句.
查询雇员名以A_开始的行
select *from emp where ename like 'a\_%' ESCAPE '\';

is null 和 is not null
空值(null)不等同于0,0是一个数字,而空值表示未知的,不存在的或不可用的数据.它不能像0那样进行算术运算,null用于查询列值为空值或非空的信息。
oracle的RDBMS中,null(空值)不占空间,判断某一列值是否为空,不能用"="或"!="运算符号,而要用is null或is not null。

选择没有奖金的雇员信息
select ename,job from emp where comm is null

3.order by

在关系型模式中,行是没有顺序可言的。order by 子句确定的行信息显示时的先后顺序,当按多列进行排序时,首先由第一个列名确定顺序,其次由第二个列名确定顺序。

先按工资的降序排列,在工资相同的情况下,按姓名的字母顺序排列

select
ename employee,
sal salary
from
emp
where
deptno=30
order by
sal desc employee;

假如在select子句中使用distinct关键字,在order by 子句中只能使用select 子句中列出来的列名,不能使用列的别名。

在查询语句中不仅可以使用列名或列的别名进行排序,也可以使用在select 子句中列的位置进行排序。(select 子句中有一个很长的表达式,并且要用此表达式的结果进行排序时用列的位置是很有用的)。对于涉及集合操作:uNIOn,minus的查询,不能使用列名,在这种情况下,必须提供列的位置。

select
'name:'||ename "employee",
sal "salary",
from
emp
where
deptno=30
order by
2,1;

4.group by

在select 语句中可以使用group by 子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果。

在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,要么包含聚组函数

select max(sal),job emp group by job;
(注意max(sal),job的job并非一定要出现,但有意义)

查询语句的select 和group by ,having 子句是聚组函数唯一出现的地方,在where 子句中不能使用聚组函数。

select deptno,sum(sal) from emp where sal>1200 group by deptno having sum(sal)>8500 order by deptno;

当在gropu by 子句中使用having 子句时,查询结果中只返回满足having条件的组。在一个sql语句中可以有where子句和having子句。having 与where 子句类似,均用于设置限定条件

where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。

查询每个部门的每种职位的雇员数
select deptno,job,count(*) from emp group by deptno,job;

5.多表连接

笛卡尔连接就是指从多张表中取数据时,在where子句中没有指定多张表的公共关系(即一张表中取出每条记录与另一张表中的每条记录作连接)。假如第一张表中有M条记录,而第二张表中用N条记录,结果是M*N条记录。要尽量避免产生笛卡尔连接。所以一般有N张表连接,至少有N-1个连接条件。

select
D.dname,D.Loc,E.ename,e.sal
from
delpt D,emp E
where
D.deptno=E.deptno;

一但定义了表的别名,在本条select语句中就不能用表名去限制列名,应该用表的别名去限制别名。

哪些雇员的工资属于第三级别?

select
empno,ename,sal
from
emp,salgrade
where
grade=3
and
sal between losal and hisal;

找出emp表中的每一雇员属于哪一等级。

select
empno,ename,sal,grade
from
emp,sal,grade
where
emp.sal between lowsal and hisal.

5.外连接与内连接

有时候,即使在连接的表中没有相应的行,用户可能想从一张表中看数据,Oracle提供了外连接实现该功能。
内连接是指连接查询只显示完全满足连接条件的记录,即等值连接,外连接的查询结果是内连接查询结果的扩展。外连接不仅返回满足连接条件的所有记录而且也返回了一个表中那些在另一个表中没有匹配行的记录。外连接的操作符是“+”。“+”号放在连接条件中信息不完全的那一边(即没有相应行的那一边)。运算符“+”影响NULL行的建立。建一行或多行NULL来匹配连接的表中信息完全的行。

外连接运算符“+”只能出现在where子句中表达式的一边。

假如在多张表之间有多个连接条件,外连接运算符不能使用or,in逻辑运算符与其它条件组合。


假如emp表中deptno=10的ename为空值,dept表中deptno=20的loc为空值:

1.

select
ename,dept.deptno,loc
from
emp,dept
where
emp.depno(+)=dept.deptno;

如果在dept.deptno中有的数值在emp.deptno中没有值,则在做外连接时,
结果中ename会产生一个空值。(emp.deptno=10)

2.

select
ename,dept.deptno,loc
from
emp,dept
where
emp.depno=dept.deptno(+);

如果在emp.deptno中有的数值在dept.deptno中没有值,则在做外连接时,
结果中loc会产生一个空值。。(dept.deptno=20)


5.自连接

自连接是指同一张表的不同行间的连接。该连接不受其他表的影响。用自连接可以比较同一张表中不同行的某一列的值。因为自连接查询仅涉及到某一张表与其自身的连接。所以在from子句中该表名出现两次,分别用两个不同的别名表示,两个别名当作两张不同的表进行处理,与其它的表连接一样,别名之间也使用一个或多个相关的列连接。为了区分同一张表的不同行的列,在名前永别名加以限制。

select
worker.ename,
manager.ename manager
from
emp worker,
emp manager
where
work.mgr=manager.empno;

7.集合运算

基合运算符可以用于从多张表中选择数据。

①UNION运算
用于求两个结果集合的并集(两个结果集合的所有记录),并自动去掉重复行。

select ename,sal from account where sal>2000
union
select ename,sal from research where sal>2000
union
select ename,sal from sales where sal>2000;

注:ename,sal 是必须一致的。

②UNION ALL运算
用于求两个结果集合的并集(两个结果集中的所有记录)源码天空,并且不去掉重复行。

select ename,sal from account where sal>2000
union
select ename,sal from research where sal>2000
union
select ename,sal from sales where sal>2000;

③INTERSECT运算
intersect运算返回查询结果中相同的部分。

各部门中有哪些相同的职位?

select Job from account
intersect
select Job from research
intersect
select Job from sales;


④MINUS运算
minus返回两个结果集的差集。(在第一个结果集中存在的,而在第二个结果集中不存在的行。)

有那些职位是财务部中有,而在销售部门中没有?

select Job from account
minus
select Job from sales;

感谢各位的阅读,以上就是“有哪些SQL语句”的内容了,经过本文的学习后,相信大家对有哪些SQL语句这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: 有哪些SQL语句

本文链接: https://www.lsjlt.com/news/61119.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 有哪些SQL语句
    这篇文章主要讲解了“有哪些SQL语句”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些SQL语句”吧!select 子句主要决定了从表中取出的列...
    99+
    2024-04-02
  • sql语句都有哪些
    这篇文章将为大家详细讲解有关sql语句都有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Windows中运行cmd的Sqlplus中设置每行显示的数据长...
    99+
    2024-04-02
  • SQL语句规范有哪些
    这篇文章将为大家详细讲解有关SQL语句规范有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。书写风格1. 语句关键字应全部使用小写。2. 引用字符时应使用...
    99+
    2024-04-02
  • sql注入语句有哪些
    sql注入语句有:返回的是连接的数据库名:and db_name()>0获取连接用户名:and user>0将数据库备份到Web目录下面:;backup database 数据库名 to disk='c:\inetpub\wwwroot\1...
    99+
    2024-04-02
  • 常用SQL语句有哪些
    这篇文章将为大家详细讲解有关常用SQL语句有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句。问...
    99+
    2024-04-02
  • MySQL中sql语句有哪些
    小编给大家分享一下MySQL中sql语句有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!以下两个表格做讲解SELECTSELECT &quo...
    99+
    2023-06-29
  • SQL语句知识点有哪些
    本篇内容主要讲解“SQL语句知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL语句知识点有哪些”吧!一、SQL简介SQL (Structured ...
    99+
    2024-04-02
  • DBA常用SQL语句有哪些
    DBA常用SQL语句有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 select tablespace_...
    99+
    2024-04-02
  • 常用的SQL语句有哪些
    本篇内容介绍了“常用的SQL语句有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ~~~~~~~数据库...
    99+
    2024-04-02
  • 高性能SQL语句有哪些
    这篇文章主要介绍“高性能SQL语句有哪些”,在日常操作中,相信很多人在高性能SQL语句有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”高性能SQL语句有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-08
  • sql中常见语句有哪些
    小编给大家分享一下sql中常见语句有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!结构化查询语言(Structured Qu...
    99+
    2024-04-02
  • clickhouse常用的sql语句有哪些
    查询表中所有数据:SELECT * FROM table_name; 查询特定列的数据:SELECT col1, ...
    99+
    2024-04-09
    clickhouse sql
  • SQL语句limit的用法有哪些
    在SQL语句中,LIMIT用于限制查询结果返回的记录数。在大多数数据库管理系统中,LIMIT的用法如下:1. 基本用法:LIMIT ...
    99+
    2023-09-05
    sql
  • 最常用的SQL语句有哪些
    本篇内容介绍了“最常用的SQL语句有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!(1)数据记录筛选:...
    99+
    2024-04-02
  • SQL数据库语句有哪些呢
    SQL数据库语句有哪些呢,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。创建数据库CREATE DATABASE database-name删除数据库dro&...
    99+
    2023-06-22
  • MYSQL常用sql语句有哪些呢
    这篇文章给大家介绍MYSQL常用sql语句有哪些呢,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 SQL分类: DDL—数据定义语言(CREAT...
    99+
    2024-04-02
  • SQL DELETE语句的用法有哪些
    SQL DELETE语句用于从数据库表中删除一行或多行数据。DELETE语句的用法如下:1. 删除整个表中的所有数据:```...
    99+
    2023-10-11
    SQL
  • WordPress中有哪些SQL操作语句
    本篇文章给大家分享的是有关WordPress中有哪些SQL操作语句,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  WordPress的SQL...
    99+
    2024-04-02
  • SQL语句基本作用有哪些
    SQL语句的基本作用包括以下几个方面:1. 定义和管理数据库结构:SQL语句可以用来创建数据库和表,定义表的结构和字段。2. 数据的...
    99+
    2023-09-20
    SQL
  • Access和SQL Server的SQL语句有哪些区别
    这篇文章主要讲解了“Access和SQL Server的SQL语句有哪些区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Access和SQL Server...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作