當前位置:首頁 » 編程語言 » sql標量子查詢ytd
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql標量子查詢ytd

發布時間: 2022-05-21 15:44:57

『壹』 sql的子查詢問題

表employees中沒有income欄位當然無效了

selectName

fromEmployee

whereEmployeein(

selectEmployee

fromSalary

whereEmployeeIDin(

selectEmployeeID

fromEmployee

whereEmployeeId=(

selectdepartmentID

fromdepartment

whereDepartmentName="研發部"))andIncome>(

selectmax(Income)

fromSalary

whereEmployeeIdin(

selectEmployeeID

fromemployees

wheredepartmentID=(

selectdepartmentID

fromdepartment

whereDepartmentName="財務部"))))

這樣試試吧

『貳』 資料庫 SQL語句 子查詢執行過程

子查詢執行過程,可以用以下例子來說明:

語句如下:

select*fromscorewheresidin(selectsidfromstudentwhere班級='一班')

在sql語句中,資料庫先執行的是括弧中的部分,得出student表中一班學生的sid,然後再在score表中選出sid為一班id的哪些學生的詳細內容。

『叄』 sql 子查詢

1、二樓提供的sql我查詢出來的結果如下。

mysql> select student.stuNo,stuName,stuAge,Score
-> from student,stuMark
-> where student.stuNo in (
-> select stuMark.stuNo
-> from stuMark);
+-------+---------+--------+-------+
| stuNo | stuName | stuAge | Score |
+-------+---------+--------+-------+
| 1 | 張三 | 19 | 99 |
| 1 | 張三 | 19 | 96 |
| 2 | 李四 | 20 | 99 |
| 2 | 李四 | 20 | 96 |
+-------+---------+--------+-------+

2、我提供兩個sql語句。供樓主參考。

mysql> select * from student,stumark where student.stuno=stumark.stuno;
+-------+---------+--------+-------+--------+-------+
| stuNo | stuName | stuAge | stuNo | course | Score |
+-------+---------+--------+-------+--------+-------+
| 1 | 張三 | 19 | 1 | java | 99 |
| 2 | 李四 | 20 | 2 | C# | 96 |
+-------+---------+--------+-------+--------+-------+

mysql> select *from student ta,stumark tb where ta.stuno in(select stuno from s
tumark) and ta.stuno=tb.stuno;
+-------+---------+--------+-------+--------+-------+
| stuNo | stuName | stuAge | stuNo | course | Score |
+-------+---------+--------+-------+--------+-------+
| 1 | 張三 | 19 | 1 | java | 99 |
| 2 | 李四 | 20 | 2 | C# | 96 |
+-------+---------+--------+-------+--------+-------+
2 rows in set (0.00 sec)

就是上面的那兩個。我不明白樓主為什麼一定要子查詢。這個完全沒有必要要。我感覺我第一種方法還行。

下面我再附上這兩個表在mysql下創建的語句。供大家參考:

student表

# MySQL-Front 3.2 (Build 6.2)

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET CHARACTER SET 'latin1' */;

# Host: localhost Database: test
# ------------------------------------------------------
# Server version 5.0.18-nt

DROP DATABASE IF EXISTS `test`;
CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `test`;

#
# Table structure for table student
#

CREATE TABLE `student` (
`stuNo` int(11) NOT NULL auto_increment,
`stuName` varchar(11) default NULL,
`stuAge` int(11) default NULL,
PRIMARY KEY (`stuNo`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

#
# Dumping data for table student
#

INSERT INTO `student` (`stuNo`,`stuName`,`stuAge`) VALUES (1,'張三',19);
INSERT INTO `student` (`stuNo`,`stuName`,`stuAge`) VALUES (2,'李四',20);
INSERT INTO `student` (`stuNo`,`stuName`,`stuAge`) VALUES (3,'王武',23);
INSERT INTO `student` (`stuNo`,`stuName`,`stuAge`) VALUES (4,'趙六',33);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

stumark表:

# MySQL-Front 3.2 (Build 6.2)

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET CHARACTER SET 'latin1' */;

# Host: localhost Database: test
# ------------------------------------------------------
# Server version 5.0.18-nt

DROP DATABASE IF EXISTS `test`;
CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `test`;

#
# Table structure for table stumark
#

CREATE TABLE `stumark` (
`stuNo` int(11) NOT NULL default '0',
`course` varchar(11) default NULL,
`Score` int(11) default NULL,
PRIMARY KEY (`stuNo`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

#
# Dumping data for table stumark
#

INSERT INTO `stumark` (`stuNo`,`course`,`Score`) VALUES (1,'java',99);
INSERT INTO `stumark` (`stuNo`,`course`,`Score`) VALUES (2,'C#',96);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

希望我的回答能對你有幫助

『肆』 怎麼用SQL帶子查詢的語句查詢

SELECT TA.*,TB.平均價格
FROM 貨品信息 AS TA , (SELECT AVG(價格)AS 平均價格 FROM 貨品信息)AS TB
WHERE 價格>平均價格

『伍』 SQL查詢語句中,什麼叫子查詢

嵌套SELECT語句也叫子查詢,一個 SELECT 語句的查詢結果能夠作為另一個語句的輸入值。子查詢不但能夠出現在Where子句中,也能夠出現在from子句中,作為一個臨時表使用,也能夠出現在select list中,作為一個欄位值來返回。

1、單行子查詢 :單行子查詢是指子查詢的返回結果只有一行數據。當主查詢語句的條件語句中引用子查詢結果時可用單行比較符號(=, >, <, >=, <=, <>)來進行比較。

例:
select ename,deptno,sal
from emp
where deptno=(select deptno from dept where loc='NEW YORK');

2、多行子查詢:多行子查詢即是子查詢的返回結果是多行數據。當主查詢語句的條件語句中引用子查詢結果時必須用多行比較符號(IN,ALL,ANY)來進行比較。其中,IN的含義是匹配子查詢結果中的任一個值即可("IN" 操作符,能夠測試某個值是否在一個列表中),ALL則必須要符合子查詢的所有值才可,ANY要符合子查詢結果的任何一個值即可。而且須注意ALL 和ANY 操作符不能單獨使用,而只能與單行比較符(=、>、< 、>= 、<= 、<>)結合使用。

例:

1).多行子查詢使用IN操作符號例子:查詢選修了老師名叫Rona(假設唯一)的學生名字

sql> select stName

『陸』 sql語句---子查詢問題

在count_daily表查詢結果上手動創建一個值為1的列,然後讓沒有關系的兩個表建立連接,然後就簡單了
SELECT name,count,1 as ids FROM count_daily a, briefing b WHERE a.ids = b.id and a.date BETWEEN b.start_date and b.end_date ORDER BY a.date ASC

『柒』 sql子查詢

額,哥們,首先,你的表有沒有主外鍵關系?其次,戶表與人表中有一些什麼欄位,你得說清楚。
建表如下:
戶口表(h) 人表(p)
nub 戶號 pid 身份證號
address 住址 name 姓名
state 說明狀態 relationship 家庭關系
nub 戶號
introction 說明
state 狀態
查詢姓名、身份證號、家庭關系、戶主、住址。
select p.name,p.pid,p.relationship,nvl((select p1.name from p p1 where p1.relationship like "是戶主"),null) huzhuName,h.address
from p,h
where h.nub=p.nub;

nvl(old,new)如果有old值,返回old;否則返回new
上面那條子查詢語句
select p1.name from p p1 where p1.relationship like "是戶主"
是先查出關系是戶主的人的名字,條件具體情況自己定(——)。

『捌』 sql 表中的子查詢

select c.學號,c.姓名,d.分數,e.科目 from
student_info c,
(select a.學號,a.課程編號,b.分數 from grade a,(select 學號,max(分數) 分數 from grade group by 學號) b
where a.學號=b.學號 and a.分數=b.分數) d,
curriculum e,
where
c.學號=d.學號
and
d.課程編號=e.課程編號

『玖』 Sql server中, 什麼是子查詢.!

子查詢是指將一條SQL Sever語句嵌入到另一條SQL Sever語句中。資料庫引擎將子查詢做為虛表執行查詢操作。子查詢可做為連接語句中的一個表,可做為選擇語句中的一個值,也可以是SQL Sever查詢子句,還可以是SQL Sever查詢子句的字句,與數據操作語句混合在一起。 子查詢的執行依賴於嵌套查詢。查詢樹從最里層開始,一層一層向外執行。高層的嵌套查詢可以訪問低層嵌套查詢的結果。
有兩種子查詢類型:標准和相關。標准子查詢執行一次,結果反饋給父查詢。相關子查詢每行執行一次,由父查詢找回。

舉一個簡單的例子:要找出「工程部」中工資超過該部門平均工資的員工的員工編號和姓名:

Select 員工編號,姓名
FROM 員工庫
Where WORKDEPT = '工程部'
AND SALARY > (Select AVG(工資)
FROM 員工庫
Where WORKDEPT = '工程部')

看懂沒有?

『拾』 sql 子查詢如何寫

select id from 表A
full join
(select id,count(id) from 表B group by id)
on A.id=B.id