一使用SELECT子句进行多表查询SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件SELECT a.id,a.name,a.address,a.date,b.math,b.english,b.chinese FROM tb_demo065_tel AS b,tb_demo065 AS a WHERE a.id=b.id注:在上面的的代码中,以两张表的id字段信息相同作为条件建立两表关联,但在实际开发中不应该这样使用,最好用主外键约束来实现二使用表的
别名进行多表查询如:SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 a,tb_demo065_tel b WHERE a.id=b.id AND b.id='$_POST[textid]'SQL语言中,可以通过两种方式为表指定别名 第一种是通过关键字AS指定,如SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 AS a,tb_demo065_tel AS b WHERE a.id=b.id第二种是在表名后直接加表的别名实现SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 a,tb_demo065_tel b WHERE a.id=b.id 使用表的别名应注意几下几点(1)别名通常是一个缩短了的表名,用于在连接中引用表中的特定列,如果连接中的
多个表中有相同的名称列存在,必须用表名或表的别名限定列名(2)如果定义了表的别名就不能再使用表名三合并多个结果集SQL语言中,可以通过UNION 或 ALL将多个SELECT
语句的查询结果合并输出,这两个关键字的使用说明如下:UNION:利用该关键字可以将多个SELECT 语句的查询结果合并输出,并删除重复行ALL:利用该关键字可以将多个SELECT 语句的查询结果合并输出,但不会删除重复行在使用UNION或ALL关键字将多个表合并输出时,查询结果必须具有相同的结构并且数据类型必须兼容,另外使用UNION时两张表的字段数量也必须相同,否则会提示SQL语句有错误。e.x:SELECT id,name,pwd FROM tb_demo067 UNION SELECT uid,price,date FROM tb_demo067_tel四简单嵌套查询子查询:子查询是一个SELECT查询,返回单个值且嵌套在SELECT、INSERT、UPDATE和DELETE语句或其它查询语句中,任何可以使用表达式的地方都可以使用子查询.SELECT id,name,sex,date FROM tb_demo068 WHERE id in(SELECT id FROM tb_demo068 WHERE id='$_POST[test]')内连接:把查询结果作为WHERE子句的查询条件即称为内连接五复杂的嵌套查询多表之间的嵌套查询可以通过谓词IN实现,语法格式如下:test_expression[NOT] IN{subquery} //取值:User是个对象集合 User.get(i) 取出的是每个 user对象 所以取值方式是
// User.get(i).getName() 或者 User ur=User.get(i)
System.out.println(User.get(i).getName())
System.out.println(ur.getName())
// 1. 注册驱动
try {
Class.forName("com.mysql.jdbc.Driver")
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}// Mysql 的驱动
// 2. 获取数据库的连接
java.sql.Connection conn = java.sql.DriverManager.getConnection(
"jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK", "root", null)
// 3. 获取表达式
java.sql.Statement stmt = conn.createStatement()
// 执行插入数据的 SQL
stmt.executeUpdate("insert into MyUser(username, password) values('JDBC 中文测试', '密码')")
// 4. 执行 SQL
java.sql.ResultSet rs = stmt.executeQuery("select * from MyUser")
// 5. 显示结果集里面的数据
while(rs.next()) {
System.out.println(rs.getInt(1))
System.out.println(rs.getString("username"))
System.out.println(rs.getString("password"))
System.out.println()
}
// 6. 释放资源
rs.close()
stmt.close()
conn.close()
请参考//4部分
评论列表(0条)