MySQL-等值连接、内连接、练习题-2021/09/06

连接查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1. 等值连接

方式一
select * from 表1,表2 where 表1.列=表2.列
select * from 表1,表2这一句话出现笛卡尔积的现象。一个表的数目和另一个表的数据相乘。通过where进行筛选。

例1:查询学生信息及学生的成绩

select * from students stu, scores sc where stu.studentno=sc.studentno

出现问题,后个字段多了一个1,因为两个学号字段相同
在这里插入图片描述

2. 内连接

方式二(又称内连接)
select * from 表1 inner join 表2 on 表1.列=表2.列

select * from students inner join scores on students.studentno=scores.studentno

在这里插入图片描述

区别:
等值连接是先连接成大表这时会产生笛卡尔积现象,生成临时表在内存中,然后在根据筛选条件进行筛选。
内连接是先判断在连接成表。节省内存。

练习题

统计2班男女生各有多少人

select sex,count(*) from students where class='2班' group by sex

统计每个班级中每种性别的学生人数,并按照班级升序排序

select class,sex,count(*) from students group by class,sex order by class asc

查询年龄最小的学生的全部信息

select * from students order by age desc limit 1

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!感谢您的提问。对于MySQL JDBC连接,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Java Development Kit (JDK) 和 MySQL数据库。 2. 在您的Java项目中,添加MySQL JDBC驱动程序。您可以在MySQL官方网站上下载适用于您的操作系统和MySQL版本的JDBC驱动程序,并将其添加到项目的classpath中。 3. 在Java代码中,使用`java.sql`包中的相关类来建立数据库连接。以下是一个简单的示例代码: ```java import java.sql.*; public class Main { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase"; // 数据库URL String username = "your-username"; // 数据库用户名 String password = "your-password"; // 数据库密码 try { // 加载驱动程序 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立数据库连接 Connection connection = DriverManager.getConnection(url, username, password); // 执行SQL查询或更新操作 // ... // 关闭数据库连接 connection.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } } ``` 在上面的示例代码中,`url`变量指定了数据库的URL,其中包括主机名、端口号和数据库名称。`username`和`password`变量存储了登录数据库所需的用户名和密码。 4. 在建立连接后,您可以使用`Connection`对象执行SQL查询或更新操作。具体的操作取决于您的需求和业务逻辑。 5. 最后,别忘记在完成数据库操作后关闭连接,使用`connection.close()`方法。 请注意,以上示例代码仅为演示目的,并未进行错误处理和异常处理。在实际开发中,您应该根据需要添加适当的错误处理和异常处理机制。 希望这能帮助到您!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值