㈠ Java中資料庫實現多條件查詢(條件是不確定的,可以是一個,兩個,三個,四個,五個)!
你這樣做輸出SS語句調試看看,你會發現你輸出的sql語句有問題!
String ss="SELETE * FROM MESSAGE WHERE";
int i=1;char c='"';
if(na!=null)
{ss=ss+"AND 姓名='"+na+"'";i=0;
System.out.println(ss);
}
if(se!="")
{
if(i==0){ss=ss+"AND 性別='"+se+"'";i=0;}
else {ss=ss+"AND 性別='"+se+"'";i=1;}
}
if(xi!="")
{
if(i==0){ss=ss+"AND 系別='"+xi+"'";i=0;}
else {ss=ss+"AND 系別='"+xi+"'";i=1;}
}
if(zh!="")
{
if(i==0){ss=ss+"AND 專業='"+zh+"'";i=0;}
else {ss=ss+"AND 專業='"+zh+"'";i=1;}
}
if(ni!="")
{
if(i==0){ss=ss+"AND 年級='"+ni+"'";}
else {ss=ss+"AND 年級='"+ni+"'";}
}
ss=c+ss+c;
rs=sql.executeQuery(ss);
就拿第一個SQL語句來做示範,加入你的na值為abc,輸出的SS是 SELETE * FROM MESSAGE WHEREAND 姓名= 'abc'
仔細一看就知道SQL語句上很嚴重的錯誤 WHERE 後面接了AND關鍵詞
可以這樣改:ss=ss+" " + "姓名='"+na+"'" +" " +"AND";
最後使用replaceAll('AND$', ")") 替換最後一個AND字元穿。或者使用字元創截取 去掉最後三個字元(AND)
㈡ 資料庫如何進行有條件的查詢
條件
使用where子句對表中的數據篩選,結果為true的行會出現在結果集中
語法如下:
select * from 表名 where 條件;
例:
select * from students where id=1;
1
2
3
where後面支持多種運算符,進行條件的處理
比較運算符
邏輯運算符
模糊查詢
范圍查詢
空判斷
比較運算符
等於: =
大於: >
大於等於: >=
小於: <
小於等於: <=
不等於: != 或 <>
例1:查詢編號大於3的學生
select * from students where id > 3;
例:查詢編號不大於4的學生
select * from students where id <= 4;
1
2
3
4
5
6
邏輯運算符
and
or
not
例:查詢編號大於3的女同學
select * from students where id > 3 and gender=0;
1
2
3
模糊查詢
like
%表示任意多個任意字元
_表示一個任意字元
例:查詢姓黃的學生
select * from students where name like '黃%';
1
2
3
范圍查詢
in表示在一個非連續的范圍內
空判斷
注意:null與』'是不同的
判空is null
例:查詢沒有填寫身高的學生
select * from students where height is null;
判非空is not null
1
2
3
4
優先順序
優先順序由高到低的順序為:小括弧,not,比較運算符,邏輯運算符
and比or先運算,如果同時出現並希望先算or,需要結合()使用
————————————————
㈢ SQL資料庫同時查詢三個關聯表,把這三個表內容按條件順序顯示出來SQL怎麼寫麻煩寫具體點,我菜鳥
select 欄位名 from 表1名,表2名,表3名 where 表1名.關聯欄位=表2名.關聯欄位 and 表2.名.關聯欄位=表3名.關聯欄位 and 條件 order by 排序關鍵字
㈣ SQL語句多表多條件查詢查詢(三表)。各位前輩幫忙。
1、打開Microsoft SQL Server 2012,選中需要查詢所有表的資料庫。
㈤ SQL資料庫同時查詢三個關聯表,把這三個表內容按條件順序顯示出來SQL怎麼寫
比如有三張表x0dx0adept部門表(dept_id,dept_name)、x0dx0aemp_info(emp_id,emp_name,dept_id,role_id)用戶信息表、x0dx0aemp_role(role_id,role_name)管理表x0dx0a x0dx0adept部門表的dept_id等於emp_info用戶信息表dept_id,x0dx0a而emp_role管理表的role_id等於emp_info用戶信息表role_idx0dx0a x0dx0a如果想查用工的部門名dept_name、姓名emp_name和職務名role_name並按員工ID排序x0dx0a那隻能連接三個表,語句如下x0dx0a x0dx0aselect dept.dept_name,emp_info.emp_name,emp_role.role_name x0dx0a from dept join emp_info e x0dx0a on dept.dept_id=emp_info.dept_id x0dx0a join emp_rolex0dx0a on emp_info.role=emp_role.role_idx0dx0a order by emp_info.emp_id ;
㈥ SQL里3個表的連接查詢的語句怎麼寫呀
select * from 表1,表2,表3 where 表1.欄位=表2.欄位 and 表1.欄位=表3.欄位。
結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統。
一、簡介
(1)SQL語言1974年由Boyce和Chamberlin提出,並首先在IBM公司研製的關系資料庫系統SystemR上實現。由於它具有功能豐富、使用方便靈活、語言簡潔易學等突出的優點,深受計算機工業界和計算機用戶的歡迎。
(2)1980年10月,經美國國家標准局(ANSI)的資料庫委員會X3H2批准,將SQL作為關系資料庫語言的美國標准,同年公布了標准SQL,此後不久,國際標准化組織(ISO)也作出了同樣的決定。
SQL從功能上可以分為數據定義、數據操縱和數據控制。SQL的核心部分相當於關系代數,但又具有關系代數所沒有的許多特點,如聚集、資料庫更新等。它是一個綜合的、通用的、功能極強的關系資料庫語言。其特點是:
1、數據描述、操縱、控制等功能一體化。
2、兩種使用方式,統一的語法結構。SQL有兩種使用方式。一是聯機交互使用,這種方式下的SQL實際上是作為自含型語言使用的。另一種方式是嵌入到某種高級程序設計語言(如C語言等)中去使用。
前一種方式適合於非計算機專業人員使用,後一種方式適合於專業計算機人員使用。盡管使用方式不向,但所用語言的語法結構基本上是一致的。
3、高度非過程化。SQL是一種第四代語言(4GL),用戶只需要提出「干什麼」,無須具體指明「怎麼干」,像存取路徑選擇和具體處理操作等均由系統自動完成。
4、語言簡潔,易學易用。盡管SQL的功能很強,但語言十分簡潔,核心功能只用了9個動詞。SQL的語法接近英語口語,所以,用戶很容易學習和使用。
二、功能
SQL具有數據定義、數據操縱和數據控制。
1、SQL數據定義功能
能夠慎余定義資料庫的三級模式結構,即外模式、全局模式和內模式結構。在SQL中,外模式有叫做視圖(View),全局模式簡稱模式( Schema),內模式由系統根據資料庫模式自動實現,一般無需用戶過問。
2、SQL數據操縱功能
包括對基本表和視圖的數據插入、刪除和修改,特別是具有很強的數據查詢功能。
3、SQL的數據控制功能
主要是對用戶的訪問許可權加以控制,以保證系統的安全性。
三、語句結構
結構化查詢語言包含6個部分:
1、數據查詢鉛李語言(DQL:Data Query Language)
其語句,也稱為「數據檢索語句」,用以從表中獲得數據,確定數據怎樣在應用程序給出。保留字SELECT是DQL(也是所有SQL)用得最多的動詞,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。這些DQL保留字常與其它類型的SQL語句一起使用。
2、數據操作語言(DML:Data Manipulation Language)
其語句包括動詞INSERT、UPDATE和DELETE。它們分別用於添加、修改和刪除。
3、事務控制語言(TCL)
它的語句能確保被DML語句影響地表的所有行及時得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存點)命令、ROLLBACK(回滾)命令。
(6)三個查詢條件資料庫怎麼寫擴展閱讀:
SQL的語言特點
1、SQL風格統一
SQL可以獨立完成資料庫生命周期中的全部活動,包括定義關系模式、錄入數據、建立資料庫、查詢、更新、維護、資料庫重構、資料庫安全性控制等一系列操作,這就為資料庫應用系統開發提供了良好的環境,在資料庫投入運行後,還可根據需要隨時逐步修改模式,且不影響資料庫的運行,從而使系統具有良好的可擴充性。
2、高度非過程化
非關系數據模型的數據操縱語言是面向過程的語言,用其完成用戶請求時,必須指定存取路徑。而用SQL進行數據操作,用戶只需提出「做什麼」,而不必指明「怎麼做」,因此用戶無須了解存取路徑,存取路徑的選擇以及SQL語句的操作過程由系統自動完成。這不但大大減輕了用戶負擔,而且有利於提高數據獨立性。
3、面向集合的操作方式
SQL採用集合操作方式,不僅查找結果可以是元組的集合,而且一次插入、刪寬激滾除、更新操作的對象也可以是元組的集合。
參考資料來源:網路-結構化查詢語言
㈦ 怎樣在SQL資料庫中實現多條件查詢
`
主要就是在where後後使用and邏輯運算符
如:
select * from [表名] where 學校='清華大學' and 住址='北京' and 性別='男'
以上為查詢,清華大學,住址為北京的所有男性的信息
還可以使用用模糊查詢.
如:
select * from [表名] where 學校 like '%清華大學%' and 住址 like '%北京%' and 性別='男'
以上為查詢學校有清華兩字,住址中有北京兩字的所有男性的信息
要是回答的內容有問題,或認為不妥,請發送網路消息給我,消息內容加上本頁網址哦。。
·