首页 > 数据库 >SQL 基础(2)

SQL 基础(2)

时间:2023-08-20 22:33:19浏览次数:55  
标签:name pageSize column 基础 查询 SQL table SELECT

case when 查询 SELECT name,course,score, case when score<60 then '不及格' when score >=60 then '及格' when score<80 and score>=70 '良好' else '优秀' end as column_name FROM table_name SELECT name,course,score case course when '高级班' then '走向高级开发' when '架构班' then '走向架构师' end as column_name FROM table_name with 关键字使用 WITH subquery AS (SELECT name,age,sex FROM table_name) SELECT * subquery 可利用with做递归查询 WITH subquery(PId,Id,name) AS (SELECT PId,Id,name FROM table_name1 WHERE condition UNION ALL SELECT PId,Id,name FROM table_name1 a INNER JOIN subquery ON a.Id = subquery.PId SELECT * FROM subquery in/exist关键字查询 in查询,先执行子查询再执行外围查询 SELECT Column_name1,column_name2 FROM talbe_name WHERE column_name1 IN(SELECT column_name FROM table_name2 WHERE condition) exist查询,主查询与exist查询一同查询,大性能比in查询好 SELECT column_name1,column_name2 FROM table_name1 as tab1 WHERE exist(SELECT 1 FROM table_name2 WHERE tab1.Id = Id AND condition) 表备份:复制新表 SELECT * INTO new_table_name FROM old_table_name 复制表数据:#把结构相同的表数据复制到指定表 分页查询 declare @pageSize int; select @pageSize=5; declare @pageIndex int; select @pageIndex =2; SELECT TOP @pageSize column_name1,column_name2 FROM table_name WHERE id not in(SELECT TOP @pageSize*(@pageIndex-1) id FROM table_name order by id)) 分页查询2:2005及以上版本支持 row_number() over (order by id)) as rownumber declare @pageSize int; select @pageSize=5; declare @pageIndex int; select @pageIndex =2; SELECT TOP @pageSize * FROM ( SELECT row_number() over (order by id)) as rownumber,column_name1,column_name2 FROM table_name) ) WHERE rownumber>@pageSize*(@pageIndex-1) 分页查询3:2008及以上版本支持 OFFSET pageSize*(pageIndex) ROWS FETCH NET pageSize ROWS ONLY 注意:一定要ORDER BY declare @pageSize int; select @pageSize=5; declare @pageIndex int; select @pageIndex =2; SELECT column_name1,column_name2 FROM table_name ORDER BY column_name OFFSET @pageSize*(@pageIndex-1) ROWS FETCH @pageSize ROWS ONLY 行转列 SELECT name , isnull(sum(case course when '高级班' then score end),0 ) as '高级班', isnull(sum(case course when '架构班' then score end),0 ) as '架构班' FROM table_name GROUP BY name 视图 视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图的结构和数据是对数据表查询的结果;只存放视图的定义,不存放视图对应的数据;基表中的数据发生变化,从视图中查询出来的数据也随之改变

标签:name,pageSize,column,基础,查询,SQL,table,SELECT
From: https://www.cnblogs.com/xjxue/p/17644763.html

相关文章

  • 测试使用QT来连接SQLServer并取出表格数据
    测试使用QT来连接SQLServer并取出表格数据添加引用工程文件需要加入 QT+=sql在main.cpp添加头文件引用//添加头文件#include<qdebug.h>#include<QSqlDatabase>#include<QSqlError>#include<QSqlQuery>连接数据库QSqlDatabasedb=QSqlDatabase::addDatabase("QODBC");......
  • devops之Python编程-类的基础架构
    Python中,可以通过关键字class来定义一个类。类是一种自定义数据类型,它可以包含属性(变量)和方法(函数)。下面是一个示例:classMyClass:def__init__(self,name):self.name=namedefsay_hello(self):print("Hello,"+self.name+"!")在上面的......
  • MYSQL: length() vs char_length()
     selectlength('€'),char_length('€')-->1,1 LENGTH() returnsthelengthofthe stringmeasuredinbytes.CHAR_LENGTH() returnsthelengthofthe stringmeasuredincharacters.ThisisespeciallyrelevantforUnicode,inwhich......
  • Cause: java.sql.SQLException: Field 'id' doesn't have a default value Field 'id&
    报错内容: 是因为实体类文件中设置主键自增的类型不对导致的,建议再温习一下逐渐自增的类型以及使用方式我自己的实体类里面设置的IdType为auto,但是主键id是char类型的,还不是int数值类型,所以无法设置为自增 这里需要换成IdType.ID_WORKER_STR@ApiModelProperty(......
  • 【数据库】MySQL的一些基础知识
    ALTERTABLE表名DROP属性名删除数据表DROPTABLE数据库名.表名;用户管理创建用户CREATEUSER'username'@'host'IDENTIFIEDBy'password';username:欲创建用户的用户名password:用户密码host:主机地址,例如localhost、192.168.1.1用户删除DROPUSER'username'@......
  • SQL注入基础学习2
    SQL注入基础学习2二、靶场实操(开始先学习手工,后面的话,可以采用sqlmap等自动化工具)靶场采用sqli-labs5、第5关(也可以直接利用bp来测试)第五关采用的是布尔盲注,通过输入正确的信息和错误的信息对比输入正确的信息输入错误的信息但是输入'后,页面存在报错信息,说明存在注入漏洞......
  • rhel 6.5恢复MySQL 5.5.18从节点
    文档课题:rhel6.5恢复MySQL5.5.18从节点.系统:rhel6.564位数据库:MySQL5.5.18数据库安装包:mysql-5.5.18.tar.gzXtrabackup安装包:percona-xtrabackup-24-2.4.6-2.el6.x86_64.rpm系统架构:应用场景:主库binlog未被从库应用便被binlog保留策略自动删除,主从同步出现异常.以下模拟......
  • mysql 8 - linux 安装后 java 调用报错 SQLException: Temporary file write failure
    完整报错Cause:java.sql.SQLException:Temporaryfilewritefailure.;uncategorizedSQLException;SQLstate[HY000];errorcode[1878];Temporaryfilewritefailure.;nestedexceptionisjava.sql.SQLException:Temporaryfilewritefailure.解决不要作用在......
  • mysql 问答
    1、服务器架构的逻辑视图2、mysql执行一条语句的内部过程连接器:客户端连接过来权限验证、查询缓存:连接器权限验证通过后,查看是否有缓存,有就直接返回分析器:词法语法分析,分析是否有语法错误,有则返回优化器:看下哪个索引合适执行器:执行语句并返回结果3、mysql常用引擎innodb(5......
  • sql执行异常怎样捕获
    在处理SQL执行异常时,可以使用try-catch块来捕获和处理异常。具体步骤如下:在执行SQL语句的代码块前添加try关键字,然后将可能引发异常的代码放在try块内。使用catch块捕获异常,并在catch块中处理异常情况。下面是一个示例代码片段,展示了如何捕获和处理SQL执行异常:impo......