JAVA和SQL面试题

来源:百度知道 编辑:UC知道 时间:2024/06/16 03:06:57
1.为一个长度为10的int数组,为它赋随机值
2.表T
A B

1 a
2 b
3 abc
4 c
5 a
6 b
7 ba
(1)查询出所有重复值,后去掉重复的,结果为
A B

1 a
2 b
(2)查询B列中长度大于2的记录,结果为
A B

1 abc

(3)查询表中B列中既有a且又有b的记录,结果为
A B

1 abc
2 ba
select * from T where B like '%a%b%'
第二题我写出来了:
select distinct(B) from T where len(B)>2
这个比你简单吧?

(2)查询B列中长度大于2的记录,结果为
A B

1 abc

可能么? 1对应a 而不是abc

--> 生成测试数据: @T
DECLARE @T TABLE (A INT,B VARCHAR(3))
INSERT INTO @T
SELECT 1,'a' UNION ALL
SELECT 2,'b' UNION ALL
SELECT 3,'abc' UNION ALL
SELECT 4,'c' UNION ALL
SELECT 5,'a' UNION ALL
SELECT 6,'b' UNION ALL
SELECT 7,'ba'

--SQL查询如下:

select min(A) as A,B from @T group by B having count(*) > 1

select * from @T where len(B) > 2

select * from @T where B like '%A%' and B like '%B%'

/*
A B
----------- ----
1 a
2 b

(2 行受影响)

A B
----------- ----
3 abc

(1 行受影响)

A B
----------- ----
3 abc
7 ba

(2 行受影响)
*/