首页 > 数据库 >Day15 SQL巩固学习

Day15 SQL巩固学习

时间:2022-10-07 00:15:59浏览次数:48  
标签:巩固 name column 子句 Day15 SQL table WHERE SELECT

SQL语法学习

大二学习的数据库到现在已经快忘的差不多了,只会一些简单的增删改查,group by order by等都忘记了,决定重新复习一些SQL语法

ORDER BY

该ORDER BY关键字用于按升序或降序对结果集进行排序。ORDER BY默认情况下,关键字按升序对记录进行排序。要按降序对记录进行排序,使用 DESC关键字。

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

INSERT INTO

用法

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

如果要添加所有的数据就不需要表后面的字段

UPDATE 更新语句

用法

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

DELETE 删除语句

用法

DELETE FROM table_name WHERE condition;

TOP、LIMIT、FETCH FIRST 或 ROWNUM限制子句

SELECT TOP子句用于指定要返回的记录数。SELECT TOP子句在具有数千条记录的大表上很有用。返回大量记录会影响性能。
注意: 并非所有数据库系统都支持该 SELECT TOP子句。MySQL 支持LIMIT子句选择有限数量的记录

而 Oracle 使用FETCH FIRST n ROWSONLYROWNUM

MySQL用法

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

LIKE 语法

LIKE运算符在 WHERE子句中用于搜索列中的指定模式。有两个通配符经常与 LIKE运算符结合使用:
百分号 (%) 代表零、一个或多个字符
下划线 _ 代表一个,单个字符
但是呢注意: MS Access 使用星号 (*) 代替百分号 (%),使用问号 (?) 代替下划线 ()
当然百分号和下划线也可以组合使用!

image-20221006210345280

IN 运算符

IN运算符允许在WHERE子句指定多个值

用法

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);

AS别名使用

创建一个四列的别名

SELECT CustomerName, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address
FROM Customers;

但在mysql中使用时要用cancot,+号用逗号

SELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address
FROM Customers;

别名在以下情况下很有用:
1.一个查询涉及多个表
2.一个查询涉及多个表
3.查询中使用的函数
4.列名很大或不太可读
5.两列或更多列组合在一起

JOIN

JOIN子句用于行从两个或更多表根据它们之间的相关列结合。

不同类型的SQL join

TABLE1 INNER JOIN TABLE2 ON

TABLE1 LEFT JOIN TABLE2 ON

TABLE1 RIGHT JOIN TABLE2 ON

TABLE1 FULL JOIN TABLE2 ON

GROUP BY

GROUP BY 通常和聚合函数一起使用

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);

就是分组,有一点默认是这个ONLY_FULL_GROUP_BY规则

就是查询的必选有group by所分组的,限制了很多分组查询

HAVING 语句

用法

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);

EXISTS 运算符

EXISTS运算符用于测试子查询中是否存在任何记录。
EXISTS运算符返回true,如果子查询返回一个或多个记录。

用法

SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);

思考:

简单回顾了一下以前SQL不太会用的地方,还需要多练习,找点题自己尝试着写一点,也有在自己以前项目的数据库试着查询,还是要多练习。看的是这个大佬的https://blog.csdn.net/weixin_46211269/article/details/119814777。

标签:巩固,name,column,子句,Day15,SQL,table,WHERE,SELECT
From: https://www.cnblogs.com/guoyifan/p/16758862.html

相关文章

  • 结构化 SQL 生成器
    https://github.com/liyupi/sql-generator在线使用:http://sql.yupi.icu/项目介绍视频:https://www.bilibili.com/video/BV1qa411J7vh/......
  • MySQL项目2 - 淘宝用户分析
    来源:淘宝用户分析目的:通过实战案例,掌握电商数据分析逻辑和对应的SQL语句实例应用。从数据到信息的这个过程,就是数据分析,目的是解决我们现实中的某个问题或者满足现实中......
  • Mysql索引
    索引概念:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可提高数据库中特定数据的查询速度。索引特点:索引的优点主要有以下几条:(1)通过创建唯一索引,可以保......
  • MySQL必知必会 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/10kYeopkv82DvMRo5DfwYVg点击这里获取提取码 ......
  • 关于windows-server-下MySQL Community版本的的安装与配置
    在公司电脑或者服务器上安装软件,都是有要求的,要么购买license(这个需要申请,难度较大),要么安装免费开源的软件笔者最近想要安装mysql服务环境,用于数据存储及开发一些功能程序......
  • CentOS7安装MySQL8.0 -2022
    CentOS(CommunityEnterpriseOperatingSystem)是Linux发行版之一,它是来自于RedHatEnterpriseLinux(RHEL)依照开放源代码规定发布的源代码所编译而成。由于出自同样的源......
  • winform 使用freesql连接达梦数据库
    1.nuget安装对应包  2.winform里使用2.1配置连接字符串<appSettings><addkey="db"value="Server=ip:5236;Database=Db1;UserId=root;Password=xxx"/></appSett......
  • 【mysql】关于命令SHOW CREATE TABLE <表名\G>报错问题:1064 - You have an error in
    1、首先该命令是用来查看表的详细信息加参数,是为了展示上更加直观  原因:使用第三方工具如Navicat,是不能带参数的,因为这种命令方式是命令行独有的,Navicat没有实现2、......
  • 续《基于C# 开发的SOL SERVER 操作数据库类(SQLHelp》 ——第二弹
    续上一节,本节给出SQLHelp的具体实现方法——《YSFSQLHelp》,个人根据自己需要新建适合的类,本节根据参考网上资料,根据自己的需要编写的SQL帮助类。下面直接给出具体实现:......
  • Mysql 系列 | 误删数据
    误删数据是数据库操作过程中不可避免会遇到的问题。误删分为几种,误删行、误删库/表、误删整个实例。遇到问题就要分析原因,并对症下药解决问题。误删行使用delete语......