String sql = "select ta.*,tb.mingcheng bmmc,tb.xishu from t_zhigong ta,t_bumen tb " + "where ta.id=? and ta.bumen_id=tb.id";
时间: 2024-03-02 16:51:40 浏览: 112
这是一段 SQL 语句,用于查询名为 `t_zhigong` 的员工表和名为 `t_bumen` 的部门表的数据。具体来说,它查询了 `t_zhigong` 表中 `id` 字段等于某个特定值的员工的所有信息,以及该员工所在部门的名称和系数,查询结果包含以下列:
- `id`:员工 ID;
- `xingming`:员工姓名;
- `shouji`:员工手机号码;
- `dizhi`:员工地址;
- `zhiwu`:员工职务;
- `gongzi`:员工工资;
- `bumen_id`:员工所在部门的 ID;
- `bmmc`:员工所在部门的名称;
- `xishu`:员工所在部门的系数。
具体使用方法如下:
```java
String sql = "select ta.*,tb.mingcheng bmmc,tb.xishu from t_zhigong ta,t_bumen tb " +
"where ta.id=? and ta.bumen_id=tb.id"; // 定义 SQL 语句
int id = 123; // 假设要查询的员工 ID 为 123
Connection conn = null; // 假设这里已经获取了数据库连接 conn
PreparedStatement pstmt = conn.prepareStatement(sql); // 创建 PreparedStatement 对象
pstmt.setInt(1, id); // 设置查询参数,将员工 ID 设置为 123
ResultSet rs = pstmt.executeQuery(); // 执行查询操作,获取结果集
while (rs.next()) {
int zhigongId = rs.getInt("id"); // 获取员工 ID
String xingming = rs.getString("xingming"); // 获取员工姓名
String shouji = rs.getString("shouji"); // 获取员工手机号码
String dizhi = rs.getString("dizhi"); // 获取员工地址
String zhiwu = rs.getString("zhiwu"); // 获取员工职务
double gongzi = rs.getDouble("gongzi"); // 获取员工工资
int bumenId = rs.getInt("bumen_id"); // 获取员工所在部门的 ID
String bmmc = rs.getString("bmmc"); // 获取员工所在部门的名称
double xishu = rs.getDouble("xishu"); // 获取员工所在部门的系数
// TODO: 进行后续操作,如将查询结果封装成实体对象等
}
rs.close(); // 关闭结果集
pstmt.close(); // 关闭 PreparedStatement 对象
conn.close(); // 关闭数据库连接
```
其中 `?` 表示 SQL 语句中的参数占位符,可以使用 `PreparedStatement` 对象的 `setXXX()` 方法设置参数值,再调用 `executeQuery()` 方法执行查询操作,最后使用 `ResultSet` 对象获取查询结果。需要注意的是,在使用完 `ResultSet` 对象后,需要调用 `close()` 方法关闭结果集、`PreparedStatement` 对象和数据库连接。
阅读全文