当前位置: 首页 > news >正文

数据库学习-常用的SQL语句

背景:

汇整一下自己学习数据库过程中常见的题目及语句。

一.实例分析题

 

 二.简单SQL查询:

1):统计每个部门员工的数目select dept,count(*) from employee group by dept;2):统计每个部门员工的数目大于一个的记录select dept,count(*) from employee group by dept having count(*)>1;3):统计工资超过1200的员工所在部门的名称select e.first_name,salary,d.namefrom s_emp e, s_dept dwhere e.dept_id = d.idand salary > 1200;4):查询哪个部门没有员工select e.empno, d.deptno from emp e, dept dwhere e.deptno(+) = d.deptnoand e.deptno is null;

三.复杂SQL查询

有3个表(15分钟):(SQL)

Student 学生表 (学号,姓名,性别,年龄,组织部门)

Course 课程表 (编号,课程名称)

Sc 选课表 (学号,课程编号,成绩)

表结构如下:

 

1) 写一个SQL语句,查询选修了’JAVA’的学生学号和姓名(3分钟)

答:SQL语句如下:

select stu.sno, stu.sname

from student stu, course c, sc

where stu.sno = sc.sno and sc.cno = c.cno and c.cname=’JAVA’;

2) 写一个SQL语句,查询’a’同学选修了的课程名字(3分钟)

答:SQL语句如下:

select stu.sname, c.cname

from student stu, course c, sc

where stu.sno = sc.sno and sc.cno = c.cno and stu.sname = ’a’;

3) 写一个SQL语句,查询选修了5门课程的学生学号和姓名(9分钟)

答:SQL语句如下:

select stu.sno, stu.sname from student stu

where (select count(*) from sc where sno=stu.sno) = 5;

三. 在SQL中删除重复记录的方法:(用到rowid (oracle伪列))

    1)通过建立临时表来实现

        SQL>create table temp_emp as (select distinct * from employee) 

        SQL>truncate table employee; (清空employee表的数据)

        SQL>rename temp_emp to employee; (再将表重命名)

    2)通过使用rowid来实现。

        SQL>delete from employee where rowid not in (

        select max(t1.rowid) from employee t1 group by

        t1.emp_id,t1.emp_name,t1.salary);

        --这里用min(rowid)也可以。

四. TOP N问题:查出一张表的前2条数据(用到rownum (oracle伪列))

四. TOP N问题:查出一张表的前2条数据(用到rownum (oracle伪列))

    答:--rownum只能使用<=或<的关系比较运算符

    select * from s_emp where rownum <= 2;

    --查询公司工资最高的3个人

    /*select * from emp

    where rownum <= 3

    order by sal desc;*/ 错误的

    select * from (select * from emp order by sal desc) where rownum <= 3;

五.分页查询:

    --查询第1-5条记录

    select * from (select rownum num, s_emp.* from s_emp)

    where num >=1 and num <= 5;

    --按工资排序,五条一页,查找第二页

   select salary,first_name

         from( select s.*, rownum rm

        from (select *

                  from s_emp

                  order by salary d

          ) s

       )

    where rm between 6 and 10

四、简述题:

1.怎样创建一个视图,视图的好处, 视图可以控制权限吗?

答案:

Create view <視圖名> as <select 語句>

視圖名在數據庫中必須是唯一的,不能與其他表或視圖同名

指定創建視圖的語句,可以查詢多個基礎表或源視圖

1.增强保障數據安全性

2.組裝數據 數據整合

3.封裝複雜查詢 數據的透明性

4.提供建模模型

5.提高響應速度

視圖只是一個虛表 用戶有只讀權限 沒有控制權限

2.怎样创建一个一个索引,索引使用的原则,有什么优点和缺点?

Create index idx_表名_列名 on 表名(列名)

原則 1.小數據量的表不宜使用索引

2.頻繁使用插入,修改,刪除等DML操作的數據表不宜使用索引

優點:利用索引提供數據庫性能

缺點:添加刪除修改數據對索引的影響都是不可避免地形成了對存儲空間的浪費

3. 怎样将一个旧数据库数据移到一个新的数据库

創建一個臨時數據庫

先把舊的數據庫遷移過去,再SQL導入數據 insert into  select from 然後再把舊的數據庫刪除就好了

4. 怎样创建一个存储过程,有什么好处?

5. 说说你了解的oracle中的经常使用到得函数

字符函数:

Upper()函數

Lower()函數

Initcap()函數

Substr()函數

Length()函數

Concat()函數

Instr()函數

Trim()函數

Itrim()函數

Rtrim()函數

Translate()函數

轉換函數 TO_CHAR

数字函数:

Abs()函數

Round()函數

Ceil()函數

Floor()函數

Mod()函數

Sign()函數

Sqrt()函數

Power()函數

Trunc()函數

轉換函數 TO_NUMBER

 日期函数:

Sysdate()函數

Add_months()函數

Last_day()函數

Next_day()函數

Months_between()函數

Extract()函數

轉換函數 TO_DATE

其它函数:

Decode()函數

Nvl()函數

Cast()函數

 聚合函數/組函數:

AVG()函數

SUM()函數

MAX()函數

MIN()函數

COUNT()函數

6. Oracle中字符串用什么符号链接?

Oracle 字符串連接使用“||”進行字符串拼接

單引號表示日期或字符串

雙引號表示別名

7.简要说一下什么是内连接、左连接、右连接,并写出连接的sql。

答案:

(1)

相关文章:

数据库学习-常用的SQL语句

背景&#xff1a; 汇整一下自己学习数据库过程中常见的题目及语句。 一.实例分析题 二&#xff0e;简单SQL查询&#xff1a; 1&#xff09;:统计每个部门员工的数目select dept,count(*) from employee group by dept;2&#xff09;:统计每个部门员工的数目大于一个的记录se…...

5种获取JavaScript时间戳函数的方法

5种获取JavaScript时间戳函数的方法 一、JavasCRIPT时间转时间戳方法一&#xff1a;Date.now()方法二&#xff1a;Date.parse()方法三&#xff1a;valueOf()方法四&#xff1a;getTime()方法五&#xff1a;Number 二、js时间戳转时间方法一&#xff1a;生成2022/1/18 上午10:09…...

图的宽度优先遍历

文章目录 图的宽度优先遍历程序设计程序分析图的宽度优先遍历 【问题描述】根据输入图的邻接矩阵A,给出图的宽度优先遍历序列; 【输入形式】第一行为图的结点个数n,第二行输入顶点的信息,每个顶点用一个字符表示,接下来的n行为图的邻接矩阵A。其中A[i][j]=1表示两个结点邻…...

企业AD域(域控服务器)的安装和配置详细教程

一、环境以及工具准备 软件&#xff1a;VMWare Workstation 2016 &#xff08; 下载链接&#xff1a;https://pan.baidu.com/s/1iX1VRilerYPGbGvX4pvaKw 提取码&#xff1a;75R6 &#xff09; 镜像&#xff1a;Windows Server 2016 &#xff08; 下载地址&#xff…...

面试官:一千万的数据,你是怎么查询的?

面试官&#xff1a;一千万的数据&#xff0c;你是怎么查询的&#xff1f; 1 先给结论 对于1千万的数据查询&#xff0c;主要关注分页查询过程中的性能 针对偏移量大导致查询速度慢&#xff1a; 先对查询的字段创建唯一索引 根据业务需求&#xff0c;先定位查询范围&#xff08…...

IntelliJ 上 Azure Event Hubs 全新支持来了!

大家好&#xff0c;欢迎来到 Java on Azure Tooling 的3月更新。在这次更新中&#xff0c;我们将介绍 Azure Event Hubs 支持、Azure Functions 的模板增强&#xff0c;以及在 IntelliJ IDEA 中部署 Azure Spring Apps 时的日志流改进。要使用这些新功能&#xff0c;请下载并安…...

性能测试,监控磁盘读写iostat

性能测试&#xff0c;监控磁盘读写iostat iostat是I/O statistics&#xff08;输入/输出统计&#xff09;的缩写&#xff0c;iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况&#xff0c;同时也会汇报出 CPU使用情况。同vmstat一样&#xff0c;ios…...

steam游戏搬砖项目怎么做?月入过万的steam搬砖项目教程拆解

steam游戏搬砖项目怎么做?月入过万的steam搬砖项目教程拆解 大家好&#xff0c;我是童话姐姐&#xff0c;今天继续来聊Steam搬砖项目。 Steam搬砖项目也叫CSGO搬砖项目&#xff0c;它并不是什么刚面世的新项目&#xff0c;是已经存在至少七八年的一个资深老牌项目。这个项目…...

协同运力、算力、存力,加速迈向智能世界

2023年4月20日&#xff0c;华为在HAS2023期间举办“迈向智能世界”主题论坛&#xff0c;吸引了来自全球的分析师、专家学者及媒体与会。会上&#xff0c;华为ICT战略与Marketing总裁彭松发表了“持续技术创新&#xff0c;加速迈向智能世界”的主题演讲。 华为ICT战略与Marketin…...

被裁员了,要求公司足额补缴全部公积金,一次补了二十多万!网友兴奋了,该怎么操作?...

被裁员后&#xff0c;能要求公司补缴公积金吗&#xff1f; 一位网友问&#xff1a; 被裁员了&#xff0c;要求公司把历史公积金全部足额缴纳&#xff0c;现在月薪2.3万&#xff0c;但公司每个月只给自己缴纳300元公积金&#xff0c;结果一次补了二十多万&#xff0c;一次性取出…...

家庭智能插座一Homekit智能

传统的灯泡是通过手动打开和关闭开关来工作。有时&#xff0c;它们可以通过声控、触控、红外等方式进行控制&#xff0c;或者带有调光开关&#xff0c;让用户调暗或调亮灯光。 智能灯泡内置有芯片和通信模块&#xff0c;可与手机、家庭智能助手、或其他智能硬件进行通信&#x…...

什么是雪花算法?啥原理?

1、SnowFlake核心思想 SnowFlake 算法&#xff0c;是 Twitter 开源的分布式 ID 生成算法。 其核心思想就是&#xff1a;使用一个 64 bit 的 long 型的数字作为全局唯一 ID。在分布式系统中的应用十分广泛&#xff0c;且 ID 引入了时间戳&#xff0c;基本上保持自增的&#xf…...

【华为OD机试真题】 统计差异值大于相似值二元组个数(javapython)

统计差异值大于相似值二元组个数 知识点数组进制转换Q整数范围循环 时间限制:1s空间限制:256MB限定语言:不限 题目描述: 题目描述:对于任意两个正整数A和B,定义它们之间的差异值和相似值: 差异值:A、B转换成二进制后,对于二进制的每一位,对应位置的bit值不相同则为…...

【cmake篇】选择编译器及设置编译参数

实际开发的过程中&#xff0c;可能有多个版本的编译器&#xff0c;不同功能可能需要设置不同的编译参数。 参考文章链接&#xff1a;选择编译器及设置编译器选项 目录 一、选择编译器 1、查看系统中已有的编译器 2、选择编译器的两种方式 二、设置编译参数 1、add_compil…...

MySQL having关键字详解、与where的区别

1、having关键字概览 1.1、作用 对查询的数据进行筛选 1.2、having关键字产生的原因 使用where对查询的数据进行筛选时&#xff0c;where子句中无法使用聚合函数&#xff0c;所以引出having关键字 1.3、having使用语法 having单独使用&#xff08;不与group by一起使用&a…...

CSS中相对定位与绝对定位的区别及作用

CSS中相对定位与绝对定位的区别及作用 场景复现核心干货相对定位绝对定位子绝父相&#x1f525;&#x1f525;定位总结绝对定位与相对定位的区别 场景复现 在学习前端开发的过程中&#xff0c;熟练掌握页面布局和定位是非常重要的&#xff0c;因此近期计划出一个专栏&#xff…...

7.1 基本运放电路(1)

集成运放的应用首先表现在它能构成各种运算电路上&#xff0c;并因此而得名。在运算电路中&#xff0c;以输入电压作为自变量&#xff0c;以输出电压作为函数&#xff1b;当输入电压变化时&#xff0c;输出电压将按一定的数学规律变化&#xff0c;即输出电压反映输入电压某种运…...

交友项目【首页推荐,今日佳人,佳人信息】

目录 1&#xff1a;首页推荐 1.1&#xff1a;接口地址 1.2&#xff1a;流程分析 1.3&#xff1a;代码实现 2&#xff1a;今日佳人 1.1&#xff1a;接口地址 1.2&#xff1a;流程分析 1.3&#xff1a;代码实现 3&#xff1a;佳人信息 1.1&#xff1a;接口地址 1.2&am…...

kafka-5 kafka的高吞吐量和高可用性

kafka的高吞吐量和高可用性 6.1 高吞吐量6.2 高可用&#xff08;HA&#xff09; 6.1 高吞吐量 kafka的高吞吐量主要是由4方面保证的&#xff1a; &#xff08;1&#xff09;顺序读写磁盘 Kafka是将消息持久化到本地磁盘中的&#xff0c;一般人会认为磁盘读写性能差&#xff…...

Jmeter前置处理器和后置处理器

1. 后置处理器(Post Processor) 本质上是⼀种对sampler发出请求后接受到的响应数据进⾏处理 &#xff08;后处理&#xff09;的⽅法 正则表达式后置处理器 &#xff08;1&#xff09;引⽤名称&#xff1a;下⼀个请求要引⽤的参数名称&#xff0c;如填写title&#xff0c;则可…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...