SQL UNION 子句/運算符用於組合兩個或多個 SELECT 語句的結果而不返回任何重複的行。
要使用此 UNION 子句,每個 SELECT 語句必須具有
- 選擇的列數相同
- 列數相同的表達式
- 相同的數據類型和
- 讓它們按相同的順序
但它們不必具有相同的長度。
a的基本語法UNION 條款如下 -
用法
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNION SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
這個 supportsUnion()DatabaseMetaData 接口的方法用於判斷底層數據庫是否支持 SQL UNION 子句/運算符。
此方法返回一個布爾值,它是 -
- 沒錯,當底層數據庫支持 SQL UNION 子句/運算符時。
- 錯誤,當底層數據庫不支持 SQL UNION 子句/運算符時。
確定底層數據庫是否支持 SQL GROUP BY 子句 -
- 確保您的數據庫已啟動並正在運行。
- 使用 DriverManager 類的 registerDriver() 方法注冊驅動程序。傳遞與底層數據庫對應的驅動程序類的對象。
- 使用 DriverManager 類的 getConnection() 方法獲取連接對象。將數據庫的 URL 和用戶名、數據庫中用戶的密碼作為字符串變量傳遞。
- 使用 Connection 接口的 getMetaData() 方法獲取與當前連接相關的 DatabaseMetaData 對象。
- 最後,調用supportsUnion() ResultSetMetaData 接口的方法並將它返回的值保存在一個布爾變量中,比如 bool。如果此值為真,則底層數據庫支持 SQL UNION 子句/運算符,否則不支持。
以下JDBC程序與MySQL數據庫建立連接,判斷並打印是否支持SQL UNION子句/運算符。
示例
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseMetadata_supportsUnion {
public static void main(String args[]) throws SQLException {
//Registering the Driver
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//Getting the connection
String url = "jdbc:mysql://localhost/mydatabase";
Connection con = DriverManager.getConnection(url, "root", "password");
System.out.println("Connection established......");
//Retrieving the meta data object
DatabaseMetaData metaData = con.getMetaData();
//Determining whether the underlying database supports SQL UNION clause
boolean bool = metaData.supportsUnion();
if(bool) {
System.out.println("Underlying database supports SQL UNION clause");
} else {
System.out.println("Underlying database doesnot support SQL UNION clause");
}
}
}
輸出
Connection established...... Underlying database supports SQL UNION clause
相關用法
- Java DatabaseMetaData supportsGroupBy()用法及代碼示例
- Java DataOutputStream writeFloat()用法及代碼示例
- Java DataOutputStream writeInt()用法及代碼示例
- Java DataOutputStream writeBoolean()用法及代碼示例
- Java DataOutputStream writeBytes()用法及代碼示例
- Java DataOutputStream flush()用法及代碼示例
- Java DataOutputStream size()用法及代碼示例
- Java DataInputStream skipBytes()用法及代碼示例
- Java DataInputStream readUnsignedShort()用法及代碼示例
- Java DataOutputStream writeShort()用法及代碼示例
- Java DataInputStream readDouble()用法及代碼示例
- Java DataInputStream read()用法及代碼示例
- Java DataInputStream readInt()用法及代碼示例
- Java DataInputStream readLong()用法及代碼示例
- Java DataInputStream readShort()用法及代碼示例
- Java DataInputStream readUnsignedByte()用法及代碼示例
- Java DataOutputStream writeChars()用法及代碼示例
- Java DataOutputStream writeUTF()用法及代碼示例
- Java DataOutputStream writeByte()用法及代碼示例
- Java DataInputStream readBoolean()用法及代碼示例
注:本文由純淨天空篩選整理自Arushi大神的英文原創作品 Java DatabaseMetaData supportsUnion() method with example.。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。