sql练习

Oracle PL/SQL程序包练习

為{幸葍}努か 提交于 2020-01-07 20:52:17
1.在一个包中定义两个重载的方法,两个方法作用都是求一个数到另一个数的和并将和返回,方法申明如下: function getSum(endNumber int) return int; 没有指定开始值,直接求1到endNumber的和并返回 function getSum(endNumber int,beginNumber int) return int; 求beginNumber到endNumber的和并返回 1.创建包头 create package pack_sum as function getSum(endNumber int) return int; function getSum1(endNumber int, beginNumber int) return int; end pack_sum; 2.创建包的主体 create or replace package body pack_sum as function getSum(endNumber int) return int as sum_count int:=0; begin for var in 1..endNumber loop sum_count:=sum_count+var; end loop; return sum_count; end getSum; function getSum1

常见的sql语句练习

烂漫一生 提交于 2020-01-07 12:26:42
一、 1.新建表 test id varchar2(20) name varchar2(20) addr varchar2(50) score number create table test (id varchar2(20), name varchar2(20), addr varchar2(50), score number ) 2.给id增加主键约束 alter table test add constraint pk_id primary key(id) 3.查询出分数大于60分的人员,并按分数降序进行排列 select * from test where score>60 order by score desc 4.新增数据 001 zhangsan shenzhen 80 insert into test(id,name,addr,score) values ('001','zhansgan','shenzhen','80') 6. 将zhangsan的分数修改成60 update test set score=60 where name='zhangsan' 7.删除zhangsan的信息 delete from test where name='zhangsan' 二、 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname

SQL server练习

时光怂恿深爱的人放手 提交于 2020-01-07 04:44:29
1、本题用到下面三个关系表: CARD(CNO,NAME,CLASS) 说明:card:借书卡 cno:卡号 name:姓名class: 班级 BOOKS(BNO, BNAME, AUTHOR, PRICE, QUANTITY) 说明:books:图书 bno:书号 bname:书名 author:作者 price:单价 quantity:库存册数 BORROW(CNO, BNO, RDATE) 说明:borrow:借书记录 cno:借书卡号 bno:书号 rdate: 还书日期 备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。 按要求查询数据: (1) 找出借书超过5本的读者,输出借书卡号及所借图书册数。 select cno,count(bno) as 册数 from BORROW group by cno having count(bno)>5 (2)查询过期未还图书,输出借阅者(卡号)、书号及还书日期。 select cno as 卡号,bno as 书号,rdate as 还书日期 from borrow where borrow.rdate<GETDATE() (2) 查询书名包括“网络”关键词的图书,输出书号、书名、作者。 select bno,bname,author from books where bname like '%网络%' (4

SQL基础练习

对着背影说爱祢 提交于 2020-01-01 04:50:26
花了一天时间看了一下尚硅谷的sql视频,自己做了一下老师提供的练习题并进行核对,算是把sql基础复习了一遍。资料放在文末可自取。 表结构 employees员工表 一、 基本的语句 题目 下面的语句是否可以执行成功 select last_name , job_id , salary as sal from employees ; 下面的语句是否可以执行成功 select * from employees ; 找出下面语句中的错误 select employee_id , last_name, salary * 12 “ANNUAL SALARY” from employees ; 显示表 departments 的结构,并查询其中的全部数据 显示出表 employees 中的全部 job_id(不能重复) 显示出表 employees 的全部列,各个列之间用逗号连接,列头显示成 OUT_PUT 练习 #1. 下面的语句是否可以执行成功 SELECT last_name , job_id , salary AS sal FROM employees ; #2.下面的语句是否可以执行成功 SELECT * FROM employees ; #3.找出下面语句中的错误 SELECT employee_id , last_name , salary * 12 AS "ANNUAL

python python操作MySQL

北城余情 提交于 2020-01-01 03:15:45
  MySQL是Web世界中使用最广泛的数据库服务器,SQLite的特定是轻量级,可嵌入,但不能承受高并发访问,适合桌面和移动应用。而MySQL是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也远远大于SQLite。此外,MySQL内部有多种数据库引擎,最常用的引擎是支持数据库事务的InnoDB。 一,安装MySQL 这里小编就不详细介绍了,要是有不会安装的可以参考下面博客 http://www.cnblogs.com/wj-1314/p/7573242.html 二,安装MySQL-python 要想使python可以操作mysql 就需要MySQL-python驱动,它是python 操作mysql必不可少的模块。 下载地址: https://pypi.python.org/pypi/MySQL-python/ 下载MySQL-python-1.2.5.zip 文件之后直接解压。进入MySQL-python-1.2.5目录: >>python setup.py install 然后安装pymysql pip install pymysql    三,测试pymysql模块   测试非常简单,检查pymysql模块是否可以正常导入。(在操作数据库的时候,python2一般使用mysqldb,但是在python3中已经不再支持mysqldb了

模型层之聚合查询&&分组查询&&查询&&Q查询&&事务&&查询优化

大憨熊 提交于 2019-12-31 16:33:51
聚合查询与分组查询 聚合 aggregate (*args, **kwargs) aggregate() 是 QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典。键的名称是聚合值的标识符,值是计算出来的聚合值。键的名称是按照字段和聚合函数的名称自动生成出来的。如果你想要为聚合值指定一个名称,可以向聚合子句提供它。用到的内置函数: from django.db.models import Avg, Sum, Max, Min, Count 示例: res = models.Book.objects.all().aggregate(Avg('price'))#平均值 res1 = models.Book.objects.all().aggregate(Max('price'))#最大值 res2 = models.Book.objects.all().aggregate(Min('price'))#最小值 res3 = models.Book.objects.all().aggregate(Sum('price'))#求和 res4 = models.Book.objects.all().aggregate(Count('title'))#求总数,个数 根据最大值求其他的字段 res = models.Book.objects.all().aggregate

sql & 数据库 内容目录

你。 提交于 2019-12-28 06:19:52
1.1 ORACLE sql语法 SELECT 查询相关语法 行转列示例 92语法 99语法 伪列 1.2 关系型数据库 的varchar 和 varchar2 数据类型 ... 2.1 SELECT练习 01 ... 2.2 SELECT练习 02 时间相关 … 3.1 SQL语言的分类 1. 数据查询语言DQL 2 .数据操纵语言DML 3. 数据定义语言DDL 4. 数据控制语言DCL 3.2 Mysql 的 EMP表&DEPT表 建表语句 ... 3.3 ORACLE 的 EMP表&DEPT表 建表语句 ... 4.1 java代码 简单实现 JDBC ... 5.1 Navcat 常用快捷键 ... 来源: CSDN 作者: BF-LoneSilverWind 链接: https://blog.csdn.net/digua930126/article/details/103645403

Use iFix SQL Blocks with RDBs(SQL SERVER 2008) - 详细、完整篇

故事扮演 提交于 2019-12-27 05:25:46
Use iFix SQL Blocks with RDBs ( SQL SERVER 2008 ) 概述: iFIX 提供关系型数据库与 iFIX 数据库的通讯接口。 练习 1 : 1、在 SQL SERVER 中创建新数据库及数据库表 1.1、首 来源: CSDN 作者: LLanson 链接: https://blog.csdn.net/liang82109/article/details/103714283

sql在线练习网站(http://sqlzoo.cn)答案解析(1)

时光总嘲笑我的痴心妄想 提交于 2019-12-27 01:19:28
一:SELECT ( http://www.sqlzoo.cn/1.htm ) 1a. 查看关于bbc表的详细说明 SELECT name, region, population FROM bbc 2a. 给出人口不小于2亿的国家的名称.(2亿是200000000,有8个0) SELECT name FROM bbc WHERE population>= 200000000 2b. 给出人口不小于2亿的国家的名称和人均 GDP SELECT name, gdp/population FROM bbc WHERE population >=200000000 2c. 给出地区属于'South Asia'的国家的名称和人口数(以百万为单位,人口数除以1000000,然后用round函数取整) SELECT name, round(population/1000000,0) FROM bbc WHERE region = 'South Asia' 2d. 给出'France', 'Germany', 'Italy'三个国家的名称和人口 SELECT name, population FROM bbc WHERE name in ('France', 'Germany', 'Italy') 2e. 给出包含'United'字符国家名称 SELECT name FROM bbc WHERE

[推荐]ORACLE SQL:经典查询练手第五篇(不懂装懂,永世饭桶!)

夙愿已清 提交于 2019-12-22 16:11:01
[ 推荐 ] ORACLE SQL : 经典查询练手第五篇 ( 不懂装懂,永世饭桶! ) —— 通过知识共享树立个人品牌。 本文与大家共同讨论与分享 ORACLE SQL 的一些常用经典查询,欢迎大家补充,同时你认为有那些经典的也可分享出来。在本文中,对每一个问题,你要是认为有什么更好的解决方法也欢迎你及时提出。交流与分享才能共同进步嘛,感谢! 接上四篇 : [ 推荐 ]ORACLE SQL :经典查询练手第一篇 [ 推荐 ]ORACLE SQL :经典查询练手第二篇 [ 推荐 ]ORACLE SQL :经典 查询练手第三篇 [ 推荐 ]ORACLE SQL :经典查询练手第四篇 本篇数据查询属于复杂业务,难度比较高 ,请继续努力,通过我为大家设立的这个系列,循序渐进,只要你对每一篇,每一个试题都实践测试,认真练习。我相信你对常用、经典的、复杂的 SQL 已能熟能生巧,信手拈来! 本文使用 ORACLE自带的人力资源(HR)实例数据,本文所用表结构如下: 表名:REGIONS 序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 REGION_ID NUMBER 是 否 2 REGION_NAME VARCHAR2 25 是 表名:COUNTRIES 序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 COUNTRY_ID CHAR 2 是