数据库中sql语句复习

/*
表T中某属性(xx)重复出现N次的所以记录。
eg:表A 中 姓名重复出现3次以上的所以记录。
思路:先找出超过了3次的姓名有哪些,再把这些姓名的记录提取出来。
*/
select * from A where name in (
select name form A group by name having count(name)>3 
)
/*
查询A表中第n至m条记录
eg:查询A(ID,Name)表中第31至40条记录
*/
mysql ::  Select * from A limit 30,10;  ( mysql 中的limit )
//找出前30的id ,再找出不在这30里面的前10条
select top 10 * from A  where id not in (select top 30 id from A))
学生信息表s(sno,sname,age,sex) 学号,姓名,年龄 和性别
选课信息表sc(sno,cno,  scgrade ) 学号,课程号,成绩
课程信息表c(cno,cname,ct) 课程号,课程名,授课老师
同时选修了课程名为“1”和“2”的学生的学号和姓名
//分析:课程名可以对应出唯一的课程号,学生号对应出唯一的学生信息,最后把关系都集中到sc中来
select sno  ,sname from s where sno  in(
 select sc.sno from  sc,c where sc.cno=c.cno and cname in(‘1‘ ,‘2‘) group by sno count(distinct cno)=2);
时间: 2024-12-19 23:33:24

数据库中sql语句复习的相关文章

在线数据库表(sql语句)生成java实体类工具

相信每个做java开发的读者,都接触过SQL建表语句,尤其是在项目开发初期,因为数据库是项目的基石. 在现代项目开发中,出现了许多ORM框架,通过简单的实体映射,即可实现与数据库的交互,然而我们最初设计的一定是数据库表结构,而不是实体类.实体类仅仅是对底层数据结构的有损压缩,它仅仅是数据载体,不具备数据归档能力. 因此,很多时候,我们需要将原始的SQL建表语句转换成java实体类,这项工作看似简单,但若人工完成,工作量也是相当可观的,而且难免会出现差错. 到目前为止,笔者还没有发现比较靠谱的此类

SQL Server 【附】创建"商品管理数据库"、"学生选课数据库"的SQL语句

附:(创建“商品管理数据库”的SQL语句) --建立"商品管理数据库"数据库-- create database 商品管理数据库 on(name='商品管理数据库_m', filename='D:\商品管理系统\商品管理数据库_m.mdf', size=6mb,filegrowth=1mb,maxsize=unlimited) log on(name='商品管理数据库_l', filename='D:\商品管理系统\商品管理数据库_l.ldf', size=1,filegrowth=1

详解Java的MyBatis框架中SQL语句映射部分的编写

这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对应的接口类的路径.写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: ? 1 2 3 4 5 6 <mappers>   <mapper resource="com/limi

php中sql语句常见错误

.php文件中sql语句的写法导致的错误如下: 1.$logSql="select * from jd_login where uname=".$u."and upwd=".$p; 报错如下: 查询用户失败: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use

[数据库]简单SQL语句总结

1.在查询结果中显示列名:a.用as关键字:select name as '姓名'   from students order by ageb.直接表示:select name '姓名'   from students order by age 2.精确查找:a.用in限定范围:select * from students where native in ('湖南', '四川') b.between...and:select * from students where age between 2

在线数据库表(sql语句)生成java实体类工具 - 参考手册

SQL建表语句 说明 格式良好的SQL建表语句,可以是直接从PowerDesigner.Navicat等工具中导出SQL建表语句.所谓格式良好,是指建表指令与表名必须在一行,字段名称.类型.注释必须在一行,因为这个工具是用正则实现的,并不是语法解析器,当然,以后有时间的话,会改进成解析器. 举例 -- ---------------------------- -- Table structure for t_activity -- ---------------------------- DRO

oracle中sql语句

1.数据库中查询字段名:select column_name,data_type ,data_length,data_precision,data_scale from                          user_tab_columns where table_name='表名';  *表名必须大写. 2.数据库中查询所有用户信息:select * from  dba_users; 3.数据库当前用户角色:select * from user_role_privs: 4.pl/s

数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较

数据库中删除语句Drop.Delete.Truncate的相同点和不同点的比较(举例说明) 数据库删除语句的分别介绍:Delete:用于删除表中的行(注:可以删除某一行:也可以在不删除表的情况下(即意味着表的结构.属性.索引完整)删除所有行)                语法:删除某一行:Delete From 表名称  Where 列名称=值              删除所有行: Delete From 表名称       或     Delete *  From  表名称   Drop:

清理数据库事务——SQL语句

清除流程内部的所有相关数据 eg1: declare @procedureTemp table ( [ProcedureCode] varchar(10) ) declare @ProcedureCode varchar(10) INSERT into @procedureTemp SELECT ProcedureCode FROM WorkFlowProcedure WHILE EXISTS(select [ProcedureCode] from @procedureTemp) begin -