日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

企业面试题库_数据库部分

發(fā)布時(shí)間:2024/9/20 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 企业面试题库_数据库部分 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
使用存儲(chǔ)過(guò)程進(jìn)行分頁(yè),頁(yè)面使用javascript分頁(yè)JavaDotnet 
如有城市表和蔬菜表,用SQL語(yǔ)句查詢城市表,刪除編號(hào)為2號(hào)的蔬菜,?為蔬菜表的蔬菜名稱字段中添加土豆題不全,無(wú)法做 
sql查詢:查詢出一個(gè)表中四川省和湖南省所有姓李的人的姓名select * from table where Province in('sichuan','hunan') and name like ('li%')子查詢
左聯(lián)接在什么時(shí)候應(yīng)用需要顯示左表中所有數(shù)據(jù),右表中對(duì)應(yīng)數(shù)據(jù).查詢語(yǔ)句
sql查詢:找出張三的同鄉(xiāng)select * from people where hometown=(select hometown from people where name='張三')子查詢
查詢學(xué)員表中英語(yǔ)一門成績(jī)最高的人select * from students where score in (
?????????????????????? select max(score)? from students where object='英語(yǔ)' )? and? object='英語(yǔ)'
子查詢
查詢學(xué)員表中有兩門以上不及格的人select *? from students?? where score in (
?????????????????????? select max(score)? from students where object='英語(yǔ)')? and? object='英語(yǔ)'
子查詢
查詢出各年級(jí)中男女的人數(shù)select? classid,sex,count(*) 人數(shù) from? table? group by classid,sex?分組查詢
寫一條SQL語(yǔ)句 篩選出不重復(fù)的數(shù)據(jù)?select * from table where id in(select id? from table group by id? having count(id)=1)分組子查詢
oracle數(shù)據(jù)庫(kù)TEST表(name,age(出生日期))中年齡大于10周歲的 姓名?select name from test where? months_between(sysdate,age)>10*12數(shù)據(jù)庫(kù)常用函數(shù)
寫一個(gè)得到查詢orcle數(shù)據(jù)庫(kù)里面的記錄的方法?JavaDotnet 
寫一個(gè)存儲(chǔ)過(guò)程或觸發(fā)器?oracle存儲(chǔ)過(guò)程CREATE OR REPLACE PROCEDURE query_employee
(eno NUMBer,name OUT VARCHAR2,salary? OUT NUMBER)
IS
BEGIN
?select ename,sal into name,salary FROM emp WHERE empno=eno;
EXCEPTION
?WHEN NO_DATA_FOUND THEN
? RAISE_APPLICATION_ERROR(-20000,'
雇員不存在');
END;
oracle
觸發(fā)器:
create or replace trigger tr_sec_emp
? after insert or update or delete on emp?
declare
?v_count number;
begin
?select count(*) into v_count from emp where sal=0;
?dbms_output.put_line(v_count);
end tr_sec_emp;
存儲(chǔ)過(guò)程觸發(fā)器
什么是數(shù)據(jù)庫(kù)的內(nèi)連接,有幾種形式內(nèi)連接:若連接的結(jié)果集中只保留了符合連接條件的元組,而排除了兩個(gè)表中沒(méi)有對(duì)應(yīng)的或匹配的元組情況,這種連接稱為內(nèi)連接。
兩種形式
:一個(gè)表做內(nèi)連接;兩個(gè)表做內(nèi)連接.
表連接查詢
編寫SQL語(yǔ)句,刪除一個(gè)表中的重復(fù)記錄,假如表中有一個(gè)name字段,name重復(fù)即為重復(fù)記錄delete from table where name in(
??????????????? select name? from table? group by name? having count(name)>1)
分組子查詢
delete from tableA與truncate table tableA的區(qū)別1.delete是數(shù)據(jù)操作語(yǔ)言,操作會(huì)寫入日志,在未提交之前可以回滾;truncate是數(shù)據(jù)定義語(yǔ)言,不寫入日志,不可回滾
2.truncate執(zhí)行效率比delete高
3.delete可以根據(jù)條件刪除數(shù)據(jù);truncate會(huì)刪除表中所有的記錄
數(shù)據(jù)庫(kù)基礎(chǔ)
查詢出Test表中重復(fù)三次以上的記錄1.創(chuàng)建表:create table test (id int,col1 varchar(3),col2 varchar(3))
2.
假設(shè)所有字段都重復(fù),包括3次select * from test where id in (select id from test? group by id,col1,col2 having count(*)>=3)
分組子查詢
查詢出user表中用戶名和密碼相同的記錄,并查詢出重復(fù)出現(xiàn)的次數(shù)。User(UserName,password,description)select userName,password,count(*) from test group by userName,password having count(*)>1分組查詢
索引列 product? SQL語(yǔ)句 select * from product where sal*12<5000; 優(yōu)化此語(yǔ)句,簡(jiǎn)述原因select * from product where sal<5000/12計(jì)算和函數(shù)會(huì)使索引列失效,因此改為不對(duì)索引列進(jìn)行計(jì)算,就可以利用到索引列,提高查詢效率SQL調(diào)優(yōu)
查詢出表中salary最高的前三位。Test(user,salary)1.不考慮并列情況?? select top 3 * from test order by salary desc
2.
考慮并列的情況?? SELECT * FROM? (SELECT user,salary,dense_rank() over(order by salary desc) as drank from test )
?? where rank<4
查詢語(yǔ)句
查詢ID重復(fù)三條以上的記錄與17題雷同
select * from test where id in (select id from test? group by id having count(*)>=3)
分組子查詢
SQL查詢語(yǔ)句中的關(guān)鍵字like對(duì)查詢有影響嗎?如果有,有什么影響?有影響,會(huì)降低查詢效率SQL調(diào)優(yōu)
SQL中都有哪些類型?試寫出至少3個(gè)字符型:char varchar 數(shù)字型:int numeric 日期型:datetime數(shù)據(jù)庫(kù)基礎(chǔ)
Oracle中是物理組件有哪些?數(shù)據(jù)文件:用于存儲(chǔ)數(shù)據(jù)庫(kù)數(shù)據(jù),如表、索引數(shù)據(jù)等
控制文件:記錄數(shù)據(jù)庫(kù)物理結(jié)構(gòu)的二進(jìn)制文件
日志文件:記錄對(duì)數(shù)據(jù)庫(kù)的所有修改信息,用于故障恢復(fù)
Oracle基礎(chǔ)知識(shí)
重寫日志文件對(duì)數(shù)據(jù)有什么用?記錄對(duì)數(shù)據(jù)庫(kù)的所有修改信息,用于故障恢復(fù)Oracle基礎(chǔ)知識(shí)
控制文件有什么用?記錄數(shù)據(jù)庫(kù)物理結(jié)構(gòu),如數(shù)據(jù)庫(kù)名,文件存放位置等等。啟動(dòng)數(shù)據(jù)庫(kù)時(shí)需要讀取該文件信息Oracle基礎(chǔ)知識(shí)
ORACLE中的邏輯組件有那些表空間、段、區(qū)、數(shù)據(jù)塊Oracle基礎(chǔ)知識(shí)
表空間與模式的關(guān)系表空間不屬于任何模式,可以為多個(gè)模式所共有Oracle基礎(chǔ)知識(shí)
SQL語(yǔ)句創(chuàng)建用戶,并賦權(quán)1.創(chuàng)建用戶,使用默認(rèn)表空間
CREATE USER user1 IDENTIFIED BY user1 DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
2.
賦與dba的權(quán)限
grant? dba to user1
Oracle基礎(chǔ)知識(shí)
什么函數(shù)用于獲取時(shí)間,怎么獲取 日,月, 1.獲取時(shí)間? select getdate() from tabName
2.
獲取日月年SELECT DATEPART(day,GETDATE()) AS '',datepart(month,getdate()) as '',datepart(year,getdate()) as ''
數(shù)據(jù)庫(kù)常用函數(shù)
怎樣使用通配符%_%是模糊查詢,_匹配單個(gè)字符
例如:
select * from test where name like 'a%';SELECT *??? FROM test? WHERE name LIKE 'j___s';
數(shù)據(jù)庫(kù)常用運(yùn)算符
怎么在數(shù)據(jù)庫(kù)中插入單引號(hào)1.利用數(shù)據(jù)庫(kù)本身提供的轉(zhuǎn)義字符,如oracle中''''則可插入'
2.借助ASCII碼轉(zhuǎn)換函數(shù)插入
數(shù)據(jù)庫(kù)常用函數(shù)
not in NOT exists的區(qū)別1.not in 后面跟著結(jié)果集,not exists后返回的是true或者false
2.not in一般需要進(jìn)行全表掃描,大部分情況下效率比not exists要低
3.形如select * from t1 where f1 not in (select f1 from t2 where t2.fx= 'x '),
其中子查詢的where里的條件不受外層查詢的影響,這類查詢一般情況下,自動(dòng)優(yōu)化會(huì)轉(zhuǎn)成exist語(yǔ)句,
也就是效率和not exist一樣。?
4.形如select * from t1 where f1 not in(select f1 from t2 where? t2.fx=t1.fx),
其中子查詢的where里的條件受外層查詢的影響,這類查詢的效率要看相關(guān)條件涉及的字段的索引情況
和數(shù)據(jù)量多少,一般認(rèn)為效率不如not exists。????
SQL調(diào)優(yōu)
用一條語(yǔ)句將第一和第二張表連接成第三張表select?? *?? from?? A???? union?? all???? select?? *?? from?? B???? ----2個(gè)表的全部記錄(包括重復(fù)的,不排序)??
? or??????
select?? *?? from?? A???? union????? select?? *?? from?? B???? -----
排序并去掉重復(fù)的記錄??
 

總結(jié)

以上是生活随笔為你收集整理的企业面试题库_数据库部分的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。