是否存在性能差异(在oracle中)
Select * from Table1 T1
Inner Join Table2 T2 On T1.ID = T2.ID
Run Code Online (Sandbox Code Playgroud)
和
Select * from Table1 T1, Table2 T2
Where T1.ID = T2.ID
Run Code Online (Sandbox Code Playgroud)
?
我是SQL的新手,如果我使用点符号来选择我想要的,我很难理解为什么FROM在JOIN语句中有关键字tables.columns.我从两个表中选择哪个表格是否重要?我在w3schools定义中没有看到任何解释,表格是哪个FROM表格.在下面的示例中,我如何知道要选择哪个表FROM?由于我基本上已经选择了哪个table.column选择,它可以是吗?
例如:
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
INNER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
Run Code Online (Sandbox Code Playgroud) 我需要编写一个SQL查询,显示学生平均大于55的课程名称
表格:学生,学分,课程,部门
我做了什么 :
SQL> SELECT COURSE_NAME
2 FROM COURSES
3 where
4 (select avg(grade)
5 from grades,courses
6 where
7 grades.course_id=courses.course_id)>55;
Run Code Online (Sandbox Code Playgroud)
结果很糟糕!(它显示所有课程)
表格:
create table DEPARTMENTS
(
DEPARTMENT_ID char(2),
NAME varchar2(20),
HEAD varchar2(20));
create table COURSES
(
COURSE_ID char(10),
COURSE_NAME varchar2(20),
TYPE char(6),
POINTS number(2),
DEPARTMENT_ID char(2));
create table GRADES
(
STUDENT_ID number(3),
COURSE_ID char(10),
SEMESTER varchar2(10),
TERM char(1),
GRADE number(3),
GRADE_SEM number(3));
create table STUDENTS
(
STUDENT_ID number(3),
NAME char(15),
CITY char(15));
Run Code Online (Sandbox Code Playgroud) SELECT t1.X,
t1.Item_Code,
t2.X,
t2.Item_Code
FROM (SELECT Sum(e.item_qty) AS X,
A.Item_Code
FROM [Item Master]A
INNER JOIN [Counter Issue Details] e
ON e.Item_Code = A.Item_Code
INNER JOIN [Counter Master] CM
ON CM.Counter_Code = e.Counter_Code
WHERE e.Item_Code = A.Item_Code
AND A.Type_Code = 0
GROUP BY A.Item_Code)t1,
(SELECT Sum(e.item_qty) AS X,
A.Item_Code
FROM [Item Master]A
INNER JOIN [Counter Return Details] e
ON e.Item_Code = A.Item_Code
INNER JOIN [Counter Master] CM
ON CM.Counter_Code = e.Counter_Code
WHERE e.Item_Code = A.Item_Code
AND A.Type_Code = 0
GROUP …Run Code Online (Sandbox Code Playgroud) SQL中哪一个更好?
SELECT A.COL_A1, B.COL_B1 FROM TABLE1 A, TABLE2 B
WHERE A.COL_A1 = B.COL_B1
Run Code Online (Sandbox Code Playgroud)
要么:
SELECT B.COL_B1, A.COL_A1 FROM TABLE2 B, TABLE1 A
WHERE B.COL_B1 = A.COL_A1
Run Code Online (Sandbox Code Playgroud)