當前位置:首頁 » 編程語言 » 命名sql查詢

命名sql查詢

發布時間: 2023-12-13 23:37:40

㈠ 什麼是命名sql

可以在映射文檔中定義查詢的名字,然後就可以象調用一個命名的HQL查詢一樣直接調用命名SQL查詢.在這種情況下,我們不 需要調用addEntity()方法.

<sql-query name="persons">
<return alias="person" class="eg.Person"/>
SELECT person.NAME AS {person.name},
person.AGE AS {person.age},
person.SEX AS {person.sex}
FROM PERSON person
WHERE person.NAME LIKE :namePattern
</sql-query>
List people = sess.getNamedQuery("persons")
.setString("namePattern", namePattern)
.setMaxResults(50)
.list();
<return-join>和 <load-collection> 元素是用來連接關聯以及將查詢定義為預先初始化各個集合的。

<sql-query name="personsWith">
<return alias="person" class="eg.Person"/>
<return-join alias="address" property="person.mailingAddress"/>
SELECT person.NAME AS {person.name},
person.AGE AS {person.age},
person.SEX AS {person.sex},
adddress.STREET AS {address.street},
adddress.CITY AS {address.city},
adddress.STATE AS {address.state},
adddress.ZIP AS {address.zip}
FROM PERSON person
JOIN ADDRESS adddress
ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'
WHERE person.NAME LIKE :namePattern
</sql-query>
一個命名查詢可能會返回一個標量值.你必須使用<return-scalar>元素來指定欄位的別名和 Hibernate類型

<sql-query name="mySqlQuery">
<return-scalar column="name" type="string"/>
<return-scalar column="age" type="long"/>
SELECT p.NAME AS name,
p.AGE AS age,
FROM PERSON p WHERE p.NAME LIKE 'Hiber%'
</sql-query>
你可以把結果集映射的信息放在外部的<resultset>元素中,這樣就可以在多個命名查詢間,或者通過setResultSetMapping()API來訪問。(此處原文即存疑。原文為:You can externalize the resultset mapping informations in a <resultset> element to either reuse them accross several named queries or through the setResultSetMapping() API.)

<resultset name="personAddress">
<return alias="person" class="eg.Person"/>
<return-join alias="address" property="person.mailingAddress"/>
</resultset>

<sql-query name="personsWith" resultset-ref="personAddress">
SELECT person.NAME AS {person.name},
person.AGE AS {person.age},
person.SEX AS {person.sex},
adddress.STREET AS {address.street},
adddress.CITY AS {address.city},
adddress.STATE AS {address.state},
adddress.ZIP AS {address.zip}
FROM PERSON person
JOIN ADDRESS adddress
ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'
WHERE person.NAME LIKE :namePattern
</sql-query>
另外,你可以在java代碼中直接使用hbm文件中的結果集定義信息。

List cats = sess.createSQLQuery(
"select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother = cat.id"
)
.setResultSetMapping("catAndKitten")
.list();

㈡ 請問SQL中如何才能給列as重命名一個查絢結果

SQL 查詢中重命名使用as來處理,語法:select 欄位名 as 重命名

1、as可理解為:用作、當成,作為;一般式重命名列名或者表名。
2、例如:
有表table, 列 column_1,column_2
可以寫成 select column_1 as 列1,column_2 as 列2 from table as 表
上面的語句就可以解釋為,選擇 column_1 作為 列1,column_2 作為 列2 從 table 當表

㈢ SQL Server怎樣為在資料庫查詢返回的表命名

SQL Server查詢表名的方法如下:
1.獲取所有資料庫名:
SELECT Name FROM Master.SysDatabases ORDER BY Name
2.獲取所有表名:
SELECT Name FROM DatabaseName.SysObjects Where XType='U' ORDER BY Name
XType='U':表示所有用戶表;
XType='S':表示所有系統表;
3.獲取所有欄位名:
SELECT Name FROM SysColumns WHERE id=Object_Id('TableName')

㈣ SQL中在做查詢時怎樣給某一個欄位重命名

SQL中在做查詢時怎樣給某一個欄位重命名

MySQL中,如何使用SQL語句來對表中某一個雀局欄位進行重命名呢?我們將使用alter table 這一SQL語句。

重命名欄位的語法為:alter table <表名> change <欄位名> <欄位新名稱> <欄位的類型>。

現在我們來嘗試把test表中的.t_name欄位重命名為t_name_new欄位。

1、首先查看一下當前test表的結構

mysql> describe test;

+------------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+------------+-------------+------+-----+---------+-------+

| t_id | int(11) | YES | | NULL | |

| t_name | var20) | YES | | NULL | |

| t_password | 32) | YES | | NULL | |

| t_birth | date | YES | | NULL | |

+------------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

2、使用alter table語句顫斗來修改欄位名稱

mysql> alter table test change t_name t_name_new var20);

Query OK, 0 rows affected (0.11 sec)

Records: 0 Duplicates: 0 Warnings: 0

3、查看修改過後的結果

mysql> describe test;

頃洞讓+------------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+------------+-------------+------+-----+---------+-------+

| t_id | int(11) | YES | | NULL | |

| t_name_new | var20) | YES | | NULL | |

| t_password | 32) | YES | | NULL | |

| t_birth | date | YES | | NULL | |

+------------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

至此,我們可以順利的修改表中欄位名稱了。

關於MySQL中使用SQL語句對欄位進行重命名,本文就介紹這么多,希望對大家有所幫助,謝謝! ;

㈤ SQL中在做查詢時怎樣給某一個欄位重命名

sql 重命名專業術語是 別名,用 AS 語句實現。

例:給sc_table表中的age欄位重命名為st_age,則:

selectageasst_age
fromsc_table

類似的還可以給表起別名

例如:查詢sc_student表所有行並重命名為student,則:

select*
fromsc_studentasstudent

㈥ 如何用一條SQL語句查詢某人所在名次,注意,是名次。 mysql

1、首先新建一個test資料庫,在資料庫里創建一張data數據表,在表內插入5條測試數據。

熱點內容
ipad訪問google 發布:2024-11-30 18:33:13 瀏覽:696
360怎麼修改密碼 發布:2024-11-30 18:33:07 瀏覽:167
英雄之城源碼 發布:2024-11-30 18:27:03 瀏覽:440
培養人的腳本 發布:2024-11-30 18:03:54 瀏覽:255
wapphp源碼 發布:2024-11-30 18:02:37 瀏覽:516
濟南獲取網路時間伺服器地址 發布:2024-11-30 17:51:39 瀏覽:924
vivo忘記賬戶密碼怎麼辦 發布:2024-11-30 17:49:44 瀏覽:811
java上傳ftp時500 發布:2024-11-30 17:47:31 瀏覽:213
dnf配置打團卡是怎麼回事 發布:2024-11-30 17:46:42 瀏覽:658
為什麼搜不到麒麟9000的緩存 發布:2024-11-30 17:10:11 瀏覽:250