返回顶部
首页 > 资讯 > 数据库 >SQL语句小总结
  • 312
分享到

SQL语句小总结

2024-04-02 19:04:59 312人浏览 八月长安
摘要

   无论是面试过程中,还是未来工作中,sql都是一定会考到和用到的。所以,在此对之前看过的一些SQL知识点进行一下总结和记录,算是起到一个笔记本的作用。没有深入学习过SQL的和对SQL

   无论是面试过程中,还是未来工作中,sql都是一定会考到和用到的。所以,在此对之前看过的一些SQL知识点进行一下总结和记录,算是起到一个笔记本的作用。没有深入学习过SQL的和对SQL印象不太深的朋友可以看一下,起到一个快速使用SQL语句的作用(针对有一点SQL知识的人的)。

   首先,SQL最基础的就是语句的使用,SQL根据功能分为查询语句、插入语句、修改语句和删除语句,这里用到最多的便是查询语句,首先便总结一下查询语句的用法:

   1.简单查询

   (1).select name from table;    

   意思是在table这张表里查询一个名为name的列,它会将表中name下的所有数据查询出来。

   (2).select id,name from table;  

   表示在table中查询出id和name列下的所有数据,两个被查询的列名之间用逗号分隔。

   (3).select * from table;    

   *号表示所有,意思是查询出table表中的所有内容;

注:这样查询出的语句没有过滤也没有排序,是最简单的查询结果;SQL中不区分大小写;且SQL语句可以分成多行写,很多人认为这样更方便阅读和调试,结尾要用“;”号。

    2.不同值查询

    一个表中存储的数据肯定不会全都不同,查询出来的很多也都是相同的值,如果你不想显示重复值的话,可以在查询时使用“DISTINCT”关键字,作用是去重;

    例:select distinct name from table;      

    意思查询table表中的name一列,并把不出现重复后的结果显示出来,比如一开始的查询结果是 x,x,x,y,y,z,z,z,z,去重之后的结果就是x,y,z。

    3.限制结果查询

    一般来说限制结果查询会在分页当中用到,因为限制结果查询的用处就是,让查询结果按你想要的行数显示出来,只简单介绍oracleMysql的语句:

   (1).select name from table where rownum<=5;  

    Oracle中使用rownum关键字表示结果限制;

   (2).select name from table limit 5;  

    mysql中使用limit关键字限制结果;

    两者都表示查询table表中name列下的数据,但只显示前五行数据。

    4.排序查询

    笔试中都会出到的升序降序问题,SQL可以根据不同的条件,按想要的方式对查询结果进行排列,默认是升序排列,这里用到关键字“Order by”,且只是显示结果改变,并未改变数据存放结构。

    select id,name from table order by name;  

    意思就是查找table表中id和name两列的数据并按name的A-Z升序排列显示。

    select id,name from table order by name desc;  

    结果就是降序排列显示,需要在order by的属性后面加上关键字“desc”。

    5.过滤数据查询

    数据库表一般包含大量的数据,很少需要检索表中的所有行。通常只会根据特定操作或报告的需要提取表数据的子集。想要使用不同的条件,就需要使用到“where”关键字,在“where”后面加各式的条件以达到目的。

    (1).select * from table where id=1;  

    意思是查询出table中id列为1的这一行的所有数据。另外还有大于(>)、小于(<)、不等于(!=)这一系列操作符。

    (2).select * from table where price between 5 and 10;  

    意思是查询table中 价格在5到10之间的所有数据,用“between”关键字和“and” 一起使用,多条件查询也可以用“and”、“or”连接查询条件,表示“并且”和“或者”。

    (3).select name, price from table where (id = '1' or id = '01') and price>=10;  

    意思是查询出table表中id为1或者01 且价格大于等于10的数据的name和price;这里涉及到优先级,and的优先级要高于or,所以要加括号,括号的优先级更高,不然结果就只会显示价格高于10的情况。

    (4).select id,name from table where name like "f%";  

    意思是查询table表中name以“f”开头的所有行的id和name数据。 这里用到了“like”关键字和通配符“%”,通配符可以表示其后的所有字符,若是“%f%”则代表name中包含“f”的意思。"f%y"代表“f”开头“y”结尾的意思。

    (5).select id as idd from table order by id;

    意思是查询table表中的id并升序排列且查询出的结果赋予一个新的列名为“idd”,可以用“as”关键字实现,表示另命名。

    6.聚集函数查询

    聚集函数分为Avg()、Max()、Min()、Sum()、Count()分别表示返回某列的平均值、返回某列的最大值、返回某列的最小值、返回某列的值之和、返回某列的行数。

    (1).select avg(price) as new_price from table;

    意思是返回table表中 价格属性的平均值并另命名为new_price。

    (2).select count(*) as new from table;

    意思是对table表中的行数进行统计,不管表中包含空值还是非空,而count(name),表示统计name列的行数,但是忽略了null值。其余三个函数用法相同,这里就不一一写明。

    7.分组数据查询

    使用分组可以将数据分为多个组,对每个组进行运算更方便。

    (1).select name, count(*) as num from table GROUP BY name;

    意思是对table中的name进行分组和计算,例如

           name         num

            A           3

            B           2

            C           4

    可以看到他对name为ABC的数据行进行了统计并分组。

    (2).select id, COUNT(*) AS orders FROM table GROUP BY id HAVING COUNT(*) >= 2;

    意思是对table中的id进行分组,并统计每组数,这里也用到了过滤数据,要求统计数目大于等于2,这里的关键字HAVING可以代替“where”的作用,但是平常应使用“where”,HAVING是结合Group By使用的。

    8.子查询

    可以把select的查询结果用于另一条select的where子句中,以实现一条语句直接完成多条件查询的功能。

    SELECT cust_id FROM table WHERE order_num IN (SELECT order_num FROM Order WHERE prod_id = '01’);

    可以拆分来看,先看括号里是查询order表中的order_num,条件是id为01;而括号外的意思是查询table中的id,条件是num为什么,这里num为括号里查询到的结果。用关键字“IN”来连接子句,执行了两个查询操作,同样可以在括号里再嵌套一个IN(),里面同样可以再添加查询语句。

    9.表连接

    SQL 最强大的功能之一就是能在数据查询的执行中联结(join)表。联结是利用 SQL 的 SELECT 能执行的最重要的操作,很好地理解联结及其语法是学习 SQL 的极为重要的部分。

    SELECT vend_name, prod_name FROM Vendors, Products WHERE Vendors.vend_id = Products.vend_id;

    意思是查询Vendor和Product表中的两个name列,且两表的id相等。

    目前为止使用的联结称为等值联结(equijoin),它基于两个表之间的相等测试。这种联结也称为内联结(inner join)。其实,可以对这种联结使用稍微不同的语法,明确指定联结的类型。另外还有左外连接等。



   当下,是我对于SQL查询语句的一个总结,并不是相当细致和深入,但也算是对查询语句的一个小的学习笔记,都是我一点一点打出来的,也算是原创吧,希望可以帮助到我自己和其他看到的人。另外插入语句和删除、更新语句之后有时间会再写一篇,2016年12月3日。


您可能感兴趣的文档:

--结束END--

本文标题: SQL语句小总结

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

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

猜你喜欢
  • SQL语句小总结
       无论是面试过程中,还是未来工作中,SQL都是一定会考到和用到的。所以,在此对之前看过的一些SQL知识点进行一下总结和记录,算是起到一个笔记本的作用。没有深入学习过SQL的和对SQL...
    99+
    2024-04-02
  • sql语句分类总结
    数据定义语言DDLcreate database db_name;create table table_name (column_name data_type,...);create view view_n...
    99+
    2024-04-02
  • 常用的sql语句总结
    这篇文章主要介绍“常用的sql语句总结”,在日常操作中,相信很多人在常用的sql语句总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”常用的sql语句总结”的疑惑有所帮助!接...
    99+
    2022-11-30
    sql
  • T-SQL查询语句大总结
    T-SQL查询语句大总结 防伪码:有志者事竟成,破釜沉舟,百二秦关终属楚 注:表格及语法众多,因此总结为sql server 语句,各位朋友如有需要可参考,谢谢! 案例一:表如下图所示实...
    99+
    2024-04-02
  • postgresql 常用SQL语句小结
    目录1、查询链接数2、查看死锁状态3、删除死锁进程4、备份数据库5、还原数据库6、插入数据插入单条数据插入多条数据从一张表查询到的数据插入到另一张表7 、查询pg中单张表的大小(不包含索引)8、查询数据库中所有表的大小9...
    99+
    2022-11-19
    postgresql 常用SQL
  • SQL修改语法语句梳理总结
    目录INSERTUPDATEDELETEINSERT 当我们需要向数据库表中插入一条新记录时,就必须使用INSERT语句。 INSERT语句的基本语法是: INSERT ...
    99+
    2024-04-02
  • MyCat不支持的SQL语句总结
    已知的MyCat不支持的SQL语句类型如下: SELECT: 跨分片(实体库)的交叉查询 跨节点的联合查询 (如用户库的表和平台库的表做联合查询) INSERT: 插入的字段不包含分片字段 (如...
    99+
    2024-04-02
  • 数据库SQL语句优化总结
    这篇文章主要介绍“数据库SQL语句优化总结”,在日常操作中,相信很多人在数据库SQL语句优化总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据库SQL语句优化总结”的疑惑...
    99+
    2024-04-02
  • SQL -- 简单语句学习总结7条
    --if object_id('guestbook') is  null--CREATE TABLE guestbook (id int PRIMARY KEY, visitor VARCHA&#...
    99+
    2024-04-02
  • T-SQL语句汇总
    今天和大家一起来分享一下SQL语句,T-SQL的用法和语法,以及一些例子,目的是帮助大家一起来复习一下T-SQL的基本语句,以便在项目中更快速的运用,当然对于新手来说就更应该去学习和总结了。我个人感觉数据库...
    99+
    2024-04-02
  • mysql创建表的sql语句详细总结
    mysql创建表的sql语句 mysql建表常用sql语句: 连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 断开:exit (回车) 创建授权:g...
    99+
    2024-04-02
  • MySQL高级进阶sql语句总结大全
    目录SELECTDISTINCTWHEREAND ORINBETWEEN通配符LIkeORDER BY函数city表格字符串函数常用函数实例:concatsubstr...
    99+
    2024-04-02
  • Mysql数据库之sql基本语句小结
    本文实例讲述了Mysql数据库之sql基本语句。分享给大家供大家参考,具体如下: SQL基本语句 1.登录退出及快捷键: (1)快捷键: ————快速回到行首 ctrl + a ————回到行末 ctr...
    99+
    2024-04-02
  • mybatis-plus的sql语句打印问题小结
    目录第一种方式:第二种方式:mybatis-plus使用时候的小问题记录。 在使用mybatis-plus的时候需要把sql的语句打印出来,查看执行的成功与否,在以前的项目的时候使用...
    99+
    2024-04-02
  • SQL Server数据库的基本操作语句总结
    这篇文章主要介绍“SQL Server数据库的基本操作语句总结”,在日常操作中,相信很多人在SQL Server数据库的基本操作语句总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • 转 总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法
    原文:https://www.cnblogs.com/jrhd/p/14493800.html...
    99+
    2019-02-04
    总结一下SQL语句中引号(') quotedstr() ('') format()在SQL语句中的用法 数据库入门 数据库基础教程
  • dedecms常用sql语句汇总
    本文将一些dedecms常用的SQL语句做了整理归纳,希望对大家有所帮助. 在DedeCMS系统中,我们有很多地方都需要用到SQL语句,例如批量修改(替换)内容、数据内容调用等,在系统模板中有一个专门用于调用数据的模板标...
    99+
    2022-06-12
    dedecms sql语句
  • MySQL基础:DML语句总结
    SQL语言大致分为`DCL`、`DDL`、`DML`三种,本文主要介绍`MySQL 5.7`版本的`DCL`语句。 blog:https://www.cnblogs.com/Rohn/ SQL语言大致...
    99+
    2018-12-12
    MySQL基础:DML语句总结
  • sql load的一点小总结
    特转载一下文章:http:/viewthread.phptid=13979&extra=&page=1sql load的一点小总结    sqlldr...
    99+
    2024-04-02
  • SQL Server 数据库部分常用语句小结(四)
    42.统计APP应用的DB连接及IP情况 select b.hostname ,a.client_net_address, b.program_name ,count(1) as Qtyfrom sys.dm_exec_...
    99+
    2017-10-21
    SQL Server 数据库部分常用语句小结(四)
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作