SQL必知必会

摘要:
SQL是一种专门用来与数据库沟通的语言。编写SQL语句需要良好地理解基本数据库设计。SELECTprod_nameFROMProductsLIMIT5OFFSET5;所以,LIMIT指定返回的行数。SELECTprod_id,prod_price,prod_nameFROMProductsORDERBY2,3;SELECT清单中指定的是选择列的相对位置而不是列名。如果在SELECT中使用表达式,则必须在GROUPBY子句中指定相同的表达式。

数据库基础——数据库术语
数据库:数据库是一个以某种有组织的方式存储的数据集合。
数据库(database)
保存有组织的数据的容器(通常是一个文件或一组文件)。
数据库软件应称为数据库管理系统(DBMS)。数据库是通过 DBMS 创建和操纵的容器。
表(table)
某种特定类型数据的结构化清单。
模式(schema)
关于数据库和表的布局及特性的信息。
表由列组成。列存储表中某部分的信息。
列(column)
表中的一个字段。所有表都是由一个或多个列组成的。
正确地将数据分解为多个列极为重要。
数据库中每个列都有相应的数据类型。数据类型(datatype)定义了列可
以存储哪些数据种类。
数据类型
所允许的数据的类型。每个表列都有相应的数据类型,它限制(或允
许)该列中存储的数据。
行(row)
表中的一个记录。
表中每一行都应该有一列(或几列)可以唯一标识自己。
主键(primary key)
一列(或一组列),其值能够唯一标识表中每一行。
表中的任何列都可以作为主键,只要它满足以下条件:
 任意两行都不具有相同的主键值;
 每一行都必须具有一个主键值(主键列不允许 NULL 值);
 主键列中的值不允许修改或更新;
 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。

SQL(发音为字母 S-Q-L或 sequel)是 Structured Query Language(结构
化查询语言)的缩写。SQL是一种专门用来与数据库沟通的语言。

编写 SQL语句需要良好地理解基本数据库设计。
SQL必知必会第1张

如果使用 DISTINCT 关键字,它必须直接放在列名的前面。
SQL必知必会第2张

SELECT prod_name
FROM Products
LIMIT 5 OFFSET 5;
所以, LIMIT 指定返回的行数。 LIMIT 带的 OFFSET 指定从哪儿开始。
SQL必知必会第3张

SQL必知必会第4张

SQL必知必会第5张

请注意, DESC 是 DESCENDING 的缩写,这两个关键字都可以使用。与 DESC
相对的是 ASC (或 ASCENDING ),在升序排序时可以指定它。但实际上,
ASC 没有多大用处,因为升序是默认的(如果既不指定 ASC 也不指定
DESC ,则假定为 ASC )。

SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY 2, 3;
SELECT 清单中指定的是选择列的相对位置而不是列名。

通配符搜索只能用于文本字段(字符串),非文本数据类型字段不能使用通配符搜索。
需要特别注意,除了能匹配一个或多个字符外, % 还能匹配 0 个字符。 %代表搜索模式中给定位置的 0个、1个或多个字符
SQL必知必会第6张

SQL必知必会第7张
另一个有用的通配符是下划线( _ )。下划线的用途与 % 一样,但它只匹配单个字符,而不是多个字符。
SQL必知必会第8张
使用通配符的技巧
SQL必知必会第9张
SQL必知必会第10张
SQL必知必会第11张

concat()函数
1、功能:将多个字符串连接成一个字符串。
2、语法:concat(str1, str2,...)
返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null
SQL必知必会第12张
做好注释
SQL必知必会第13张
SQL必知必会第14张
SQL必知必会第15张
SQL必知必会第16张
SQL必知必会第17张

分组是使用 SELECT 语句的 GROUP BY 子句建立的

GROUP BY 子句中列出的每一列都必须是检索列或有效的表达式(但不能是聚集函数)。如果在 SELECT 中使用表达式,则必须在 GROUP BY子句中指定相同的表达式。不能使用别名。
GROUP BY 子句必须出现在 WHERE 子句之后, ORDER BY 子句之前。
关键是,相同的数据出现多次决不是一件好事,这是关系数据库设计的
基础。关系表的设计就是要把信息分解成多个表,一类数据一个表。各
表通过某些共同的值互相关联(所以才叫关系数据库)。
总之,关系数据可以有效地存储,方便地处理。因此,关系数据库的可
伸缩性远比非关系数据库要好。
SQL必知必会第18张

自联结(self-join)、自然联结(natural join)和外联结(outer join)
SQL必知必会第19张

目前为止使用的联结称为等值联结(equijoin),它基于两个表之间的相等测试。这种联结也称为内联结(inner join)。
SQL必知必会第20张

SQL必知必会第21张
SQL必知必会第22张
SQL必知必会第23张
SQL必知必会第24张
SQL必知必会第25张
SQL必知必会第26张
SQL必知必会第27张

SQL必知必会第28张
SQL必知必会第29张

SQL必知必会第30张
SQL必知必会第31张
SQL必知必会第32张

免责声明:文章转载自《SQL必知必会》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇k最邻近算法——加权kNNASP.NET MVC Model绑定(五)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【Oracle】Oracle安装配置、创建数据库实例及用户和连接

https://blog.csdn.net/wudiyong22/article/details/78904361 参考资料:https://www.cnblogs.com/hoobey/p/6010804.html 一、Oracle下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。 路径名称中,最好不要出现中文,也不要出现空格...

SQLServer之视图篇

1 视图介绍 视图是从一个或者几个基本表(或视图)导出的表。它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存在视图对应的数据,这些数据仍然存放在原来的基本表中。所以一旦基本表中的数据发生变化,从视图中查询的数据也就随之改变了。从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。 1.1 视图的概述 视图是从一个或...

解决:Access模糊匹配查询查不到数据

今天遇到一个可笑的问题,直接操作Access的SQL语句: Select * from table where txtTitle like '%数据%' 匹配竟然无效。后来才发现在Access中模糊匹配应该用*代替% Select * from table where txtTitle like '*数据*' 狂晕。。。...

SQL Pretty Printer-不错的SQL格式化工具

前言   好长时间没有写过博客了,人变懒了很多,应该说本来也不怎么勤快。但今天为了这个工具,必须得勤快一下了,天下真的没有免费的午餐。   之前使用过sql server 2000的查询设计器和Toad for oracle 都有格式化Sql语句的功能,感觉很方便,尤其对于我这种有着轻微强迫症的人来说。当最近把SQL Server Management S...

实战IM(即时通讯系统)开发——剖析.NET网络通信、音频、移动平台IM及服务器端编程

 课程学习地址:http://www.ibeifeng.com/goods.php?id=174 课程试看连接:http://www.ibeifeng.com/goods.php?id=174&ct=video 本系统是国内首部讲述.NET网络通信、移动开发、服务器端编程领域的课程,通过本课程的学习您可以领略到.NET在服务器端各种优点。 一、I...

MyBatis(三)全局配置文件 之 databaseProvider 数据库厂商标识

databaseIdProvider环境一、databaseIdProvider 属性 MyBatis可以根据不同的数据库厂商执行不同的语句 <databaseIdProvider type="DB_VENDOR"> <!-- 为不同的数据库厂商起别名 --> <property name="M...