sql语句

2023-05-16

#查所有年龄在20岁以下的学生姓名及年龄
#SELECT sname,sage from s where sage<20

#查考试成绩有不及格的学生的学号
#SELECT sno from sc where grade < 90

#查所年龄在20至23岁之间的学生姓名、系别及年龄。
#SELECT sname,sdept,sage from s where sage BETWEEN 20 and 23

#查计算机系、数学系、信息系的学生姓名、性别。
#SELECT sname,ssex from s where sdept in (1409,1408)

#查既不是计算机系、数学系、又不是信息系的学生姓名、性别
#SELECT sname,ssex from s where sdept not in (1409,1408)

#查所有姓“刘”的学生的姓名、学号和性别。
#SELECT sname,ssex,sno from s where sname like '刘%'

#查姓“上官”且全名为3个汉字的学生姓名。
#SELECT sname from s where sname like '上官_'

#查所有不姓“张”的学生的姓名。
#SELECT sname,ssex,sno from s where sname not like '刘%'

#9:查DB_Design相关课程的课程号。
#SELECT cno,cname from c where cname like '%DBc_design%' ESCAPE 'c'

#10:查缺考的学生的学号和课程号。
#SELECT sno,cno from sc where grade is null

#11:查年龄为空值的学生的学号和姓名。
#SELECT sno,sname from s where sage is null

#12:查计算机系20岁以下的学生的学号和姓名。
#SELECT sno,sname from s where sage<20 and sdept = 1408

#14:查询选修了C3课程的学生的学号和成绩,其结果按分数的降序排列。

#SELECT sno,grade from sc,c where sc.cno=c.cno and cname='php' ORDER BY grade desc

#15:查询全体学生的情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列。
#SELECT * from s ORDER BY sdept asc ,sage desc

#16:查询学生总人数。
#SELECT count(sno) as studentnum from s

#17:查询选修了课程的学生人数。
#SELECT COUNT(DISTINCT(sno)) from sc

#18:计算选修了C1课程的学生平均成绩。
#SELECT avg(grade) from sc INNER JOIN c on sc.cno = c.cno where cname = 'php'

#19:查询学习C3课程的学生最高分数。
#SELECT max(grade) from sc where cno = (SELECT cno from c where cname = 'php');

#20:查询各个课程号与相应的选课人数。
#SELECT cno,count(sno) from sc GROUP BY cno

#21:查询计算机系选修了3门以上课程的学生的学号。
#SELECT sc.sno,count(cno) as num from s,sc where s.sno=sc.sno and sdept = '1505' GROUP BY sno HAVING num>3

#22:求基本表S中男同学的每一年龄组(超过50人)有多少人?要求查询结果按人数升序排列,人数相同按年龄降序排列。
#SELECT sage,COUNT(sage) as num from s where ssex = '男' GROUP BY sage HAVING num>50 ORDER BY num asc,sage desc;

#23:查询每个学生及其选修课程的情况.
#SELECT * from s,sc,c where s.sno = sc.sno and sc.cno = c.cno

#24:查询选修了C2课程且成绩在90分以上的所有学生。
#SELECT * from s,sc,c where s.sno = sc.sno and sc.cno = c.cno and grade>90 and cname= 'php'
#SELECT * from s INNER JOIN sc on s.sno = sc.sno INNER JOIN c on sc.cno = c.cno where grade >90 and cname = 'php'

#25:查询每个学生选修的课程名及其成绩。
#SELECT s.sno,sname,cname,grade from s,sc,c where s.sno = sc.sno and sc.cno = c.cno

#26:统计每一年龄选修课程的学生人数。
#SELECT sage,COUNT(sc.sno) from s,sc where s.sno=sc.sno GROUP BY sage ;

#27:查询选修了C2课程的学生姓名。
#SELECT sname from s,sc,c where s.sno = sc.sno and sc.cno = c.cno and cname='php'

#28:查询与“张三”在同一个系学习的学生学号、姓名和系别。
#SELECT sno,sname,sdept from s where sdept=(SELECT sdept from s where sname = '张三')

#29:查询选修课程名为“数据库”的学生学号和姓名。
#SELECT sno,sname from s,sc,c where s.sno = sc.sno and sc.cno = c.cno and cname = '数据库'

#30:查询所有未选修C2课程的学生姓名。
#SELECT sname from s where sname not in (SELECT sname from s,sc,c where s.sno = sc.sno and sc.cno = c.cno and cname='php')

#31:查询选修了全部课程的学生姓名。
#SELECT sname FROM s WHERE NOT EXISTS (SELECT * FROM c WHERE NOT EXISTS (SELECT * FROM sc WHERE sc.sno = s.sno AND sc.cno = c.cno))
#SELECT sname FROM s INNER JOIN sc ON s.sno = sc.sno INNER JOIN c ON sc.cno = c.cno GROUP BY sname having COUNT(DISTINCT(sc.cno)) = (select count(cno) from c)

#32:查询所学课程包含学生S3所学课程的学生学号
#SELECT DISTINCT(sno) from sc,c where sc.cno = c.cno and cname in (SELECT cname from s,sc,c where s.sno = sc.sno and sc.cno = c.cno and sname = '梁斌斌')

# DISTINCT 去重 max 最大值 avg 平均值 min 最小值 is null 空的 escape 转译

转载于:https://www.cnblogs.com/zhangtianle/p/7367520.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sql语句 的相关文章

  • 与 SQL 中的 IN 运算符相反

    我怎么能做相反的事情 换句话说 选择所有姓氏不是 Hansen 或 Pettersen 的人 WHERE lastname NOT IN Hansen Pettersen 请参阅 IN 和 NOT IN 运算符 部分SQLite 所理解的
  • SQL 选择 n 到 m 关系

    我有一个n to m之间的关系Author and Book 表作者 ID Name 1 Follett 2 Rowling 3 Martin 桌书 ID Title Category 1 A Dance with Dragons Fant
  • 删除重复的行并需要在mysql中保留所有行中的一个[重复]

    这个问题在这里已经有答案了 我想删除基于两列的重复行 但需要保留所有行 1 行 重复行可以多于两行 例如 ID NAME PHONE 1 NIL 1234 2 NIL 1234 3 NIL 1234 4 MES 5989 我想从上面 3 行
  • 合并sql中的列

    我正在使用 SQL Server 2017 有一个存储过程 其中我有一个带有连接的简单选择 例如 SELECT p legacyKey AS JobNumber p Name AS JobName G Label AS DesignStat
  • RANK() OVER PARTITION 并重置 RANK

    如何获得在分区更改时重新启动的 RANK 我有这张表 ID Date Value 1 2015 01 01 1 2 2015 01 02 1
  • 创建日期范围表

    我正在编写一份需要显示每天值的报告 我有查询的开始日期和结束日期 但我希望避免丢失日期 以防表不包含特定日期的值 我正在考虑创建一个基本日期范围表 其中包含开始和结束之间的所有日期 然后将其与数据表左连接以显示每一天的值 我找到了一些适用于
  • SQL 约束最小值/最大值?

    有没有办法为数字字段设置 SQL 约束 最小值应为 1234 最大值应为 4523 SQL Server 语法为the check约束 http technet microsoft com en us library ms179491 as
  • ORA-00933 与内部联接和“as”混淆

    我有一个使用以下命令从两个表中获取数据的查询inner join 但我收到错误SQL command not properly ended as 下面有一个星号 select P carrier id O order id O aircra
  • Magento --“SQLSTATE[23000]:违反完整性约束..”客户更新

    迁移服务器后 每次尝试更新客户信息时都会出现错误 我正在使用一个客户激活插件 http www magentocommerce com magento connect vinai extension 489 customer activat
  • 使用 .NET 中的类型化数据集将 SQL 参数传递给 IN() 子句

    首先道歉 因为该网站上有类似的问题 但没有一个直接回答这个问题 我在 VS 2010 中使用类型化数据集 我在数据集中创建一个 TableAdapter 查询如下 SELECT from Table WHERE ID IN IDs 现在如果
  • ASP SQL Server 连接

  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • 选择多列 按一列分组 按计数排序

    我在Oracle中有以下数据集 c1 c2 c3 1A2 cat black 1G2 dog red B11 frog green 1G2 girl red 试图得到以下结果 基本上我首先尝试获取具有重复 c1 的行 c1 c2 c3 1G
  • 带有可变 WHERE 子句的批量 UPDATE 表

    我有一堆值对 foo1 bar1 foo2 bar2 我想做一堆更新 将 foo 列设置为 foo1 其中 bar 列为 bar1 我正在使用 psycopg2 在 Python 中执行此操作 我可以executemany与查询UPDATE
  • 3 个表的 SQL 查询(或联接)

    第一次在 Stack Overflow 上问问题 很棒的资源 但是只有一件事真正让我作为 SQL 新手感到困惑 我有三个表 我想获取与鲍勃的学生相关的所有导师的姓名 表 1 教师 ID Name 1 Bob 表 2 学生 STUDENT I
  • 更好地理解 SQL Server 中的架构

    就像标题一样 我还是一个SQLServer菜鸟 当我创建表 Mytable 时 数据库中显示 dbo Mytable 但有人能让我更好地理解模式吗 另外 在 Server 2008 TSQL 一书中 Itzik 说 在你的数据库中 表属于模
  • 如何拥有引用另一个表的检查约束?

    我在 SQL Server 2008 数据库中有以下表 tblItem 其中有一个ItemID field 好项目 它还有一个 ItemID 字段 并且有一个指向 tblItem 的外键 tblBadItem 它也有一个 ItemID 字段
  • SQL - 需要查找重复记录但排除反向事务

    我有一张交易表 偶尔会有 重复条目 如果 当管理员发现这些重复条目时 他们将撤销交易 从而创建负值 但由于监管要求 原始重复条目仍然保留 我想创建一个 SQL 查询 并使用 Crystal Reports 来制作报告 以便管理员轻松查找重复
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • 更改mysql数据库表中的日期格式

    大家早上好 只是一个简单的问题 在我现有的 MySql 数据库中 我几乎没有包含日期 的列 目前这些是年 月 日格式 但现在我需要将其全部更改为年 月 日格式 我试过了select date format curdate d m Y 但它不

随机推荐