Thứ tự chạy code trên SQL Server ?

Liên hệ QC

Nguyen Rem

Tất cả chỉ là đưa ra quyết định đúng đắn
Tham gia
23/2/22
Bài viết
211
Được thích
30
Giới tính
Nữ
Em chào các anh chị :>
Hiện tại em đang có mấy chỗ khúc mắc sau cần nhờ các anh chị giải thích giúp:
Theo em tìm hiểu thì thứ tự xử lý cho câu lệnh Select trong SQL nó được xắp xếp như sau:
1. From
2. On
3. Join
4. Where
5. Group By
6. With Cube or With Rollup
7. Having
8. Select
9. Distinct
10. Order by
11. Top

Nhưng mà hiện tại em có một vài ví dụ sau về đặt tên trong bảng và cột nó lại không theo trình tự này .
Em xin giải thích cái ví dụ dễ nhất ( để anh chị hiểu em muốn hỏi gì) . Còn trường hợp khó khó kia thì giải thích chính là câu trả lời mà em đang cần ^^
Ví dụ1:
1652966677007.png
Trình tự xử lý logic của các câu lệnh ở trong ví dụ 1 này được đánh số từ 1 đến 3
Do Select chạy trước order by nên định danh (Alias) của cột category_name là 'Product Category' được xác định
Và vì thế trong câu lệnh order by thì 'Product Category' sẽ được hiểu.

Ví dụ 2:
1652966861512.png
Theo như thứ tự em viết ở trên thì ta sẽ đánh được thứ tự chạy như hình ( from --> on --> join --> select)
Ở ví dụ này thì bảng "Books" có định danh là b , Bảng Type có định danh là t
Nhưng mà theo thứ tự thì On nó chạy trước join nên định danh của t nó chưa được xác định.
Câu hỏi:
Vậy sao mà khi dùng t.id nó vẫn thỏa mãn .

Ví dụ 3:
1652967261998.png
ví dụ 3 này . Các anh có thể nói trình tự chạy của câu lệnh cho em được không ạ . Có lẽ đọc đến đây các anh hiểu ý em hỏi rồi đấy ^^
 
Em chào các anh chị :>
Hiện tại em đang có mấy chỗ khúc mắc sau cần nhờ các anh chị giải thích giúp:
Theo em tìm hiểu thì thứ tự xử lý cho câu lệnh Select trong SQL nó được xắp xếp như sau:
1. From
2. On
3. Join
4. Where
5. Group By
6. With Cube or With Rollup
7. Having
8. Select
9. Distinct
10. Order by
11. Top

Nhưng mà hiện tại em có một vài ví dụ sau về đặt tên trong bảng và cột nó lại không theo trình tự này .
Em xin giải thích cái ví dụ dễ nhất ( để anh chị hiểu em muốn hỏi gì) . Còn trường hợp khó khó kia thì giải thích chính là câu trả lời mà em đang cần ^^
Ví dụ1:
View attachment 276176
Trình tự xử lý logic của các câu lệnh ở trong ví dụ 1 này được đánh số từ 1 đến 3
Do Select chạy trước order by nên định danh (Alias) của cột category_name là 'Product Category' được xác định
Và vì thế trong câu lệnh order by thì 'Product Category' sẽ được hiểu.

Ví dụ 2:
View attachment 276177
Theo như thứ tự em viết ở trên thì ta sẽ đánh được thứ tự chạy như hình ( from --> on --> join --> select)
Ở ví dụ này thì bảng "Books" có định danh là b , Bảng Type có định danh là t
Nhưng mà theo thứ tự thì On nó chạy trước join nên định danh của t nó chưa được xác định.
Câu hỏi:
Vậy sao mà khi dùng t.id nó vẫn thỏa mãn .

Ví dụ 3:
View attachment 276178
ví dụ 3 này . Các anh có thể nói trình tự chạy của câu lệnh cho em được không ạ . Có lẽ đọc đến đây các anh hiểu ý em hỏi rồi đấy ^^
Chắc hiểu đơn giản thế này thôi. Lấy toàn bộ các phần tử của 4 cột customer, firstname, lastname, city từ bảng sales thoả mãn điều kiện customer id của bảng c giống bảng o và năm là 2017, sau sắp sếp dữ liệu theo firstname và lastname. Cứ đọc từ trên xuống dưới thôi đâu cần nhớ thứ tự gì đâu
 
On là mệnh đề phụ (predicate) đặt điều kiện của Inner Join chứ sau với trước mốc gì.

BangA Join BangB có nghĩa là mỗi dòng của BangA sẽ được nối với tất cả các dòng trong BangB. Nếu BangA có N dòng và BangB có M dòng thì kết quả sẽ có NxM dòng.
On đặt điều kiện là chỉ nối những dòng thỏa điều kiện. Tương đương với đem cái kết quả NxM trên và lọc lấy những dòng thỏa điều kiện. (Trên lý thuyết là làm vậy, trên thực tế thì phần mềm xử lý có cách làm của chúng, hiệu quả hơn nhiều)

Phải công nhận thớt học siêu thật. Tôi hồi nào giờ có biết cái gọi là "trình tự" kia đâu.
Nhưng mà hình như học gấp quá nên bỏ qua vài phần căn bản. Cái "trình tự" như nói ở bài #1 là trình tự nà trình dịch dùng để duyệt câu lệnh chứ đâu phải trình tự xử lý (thi hành) câu lệnh.

Học lập trình có căn bản thì phải biết trình dịch (compiler) là cái gì và đại khái nó hoạt động ra sao.

CSĐL LH (Relational DataBase) vốn căn bản rất chậm và tốn năng lượng. Các phần mềm CSDL hiện nay có những kỹ thuật và giải thuật để tăng tốc, ưu hóa các công việc.

Với T-SQL, sau khi trình dịch dịch xong câu lệnh thì nó sẽ đưa qua bên một phần mềm hiệu quả hóa (optimiser) để vẽ lên cái kế hoạch thực hiện (execution plan).
 
On là mệnh đề phụ (predicate) đặt điều kiện của Inner Join chứ sau với trước mốc gì.

BangA Join BangB có nghĩa là mỗi dòng của BangA sẽ được nối với tất cả các dòng trong BangB. Nếu BangA có N dòng và BangB có M dòng thì kết quả sẽ có NxM dòng.
On đặt điều kiện là chỉ nối những dòng thỏa điều kiện. Tương đương với đem cái kết quả NxM trên và lọc lấy những dòng thỏa điều kiện. (Trên lý thuyết là làm vậy, trên thực tế thì phần mềm xử lý có cách làm của chúng, hiệu quả hơn nhiều)

Phải công nhận thớt học siêu thật. Tôi hồi nào giờ có biết cái gọi là "trình tự" kia đâu.
Nhưng mà hình như học gấp quá nên bỏ qua vài phần căn bản. Cái "trình tự" như nói ở bài #1 là trình tự nà trình dịch dùng để duyệt câu lệnh chứ đâu phải trình tự xử lý (thi hành) câu lệnh.

Học lập trình có căn bản thì phải biết trình dịch (compiler) là cái gì và đại khái nó hoạt động ra sao.

CSĐL LH (Relational DataBase) vốn căn bản rất chậm và tốn năng lượng. Các phần mềm CSDL hiện nay có những kỹ thuật và giải thuật để tăng tốc, ưu hóa các công việc.

Với T-SQL, sau khi trình dịch dịch xong câu lệnh thì nó sẽ đưa qua bên một phần mềm hiệu quả hóa (optimiser) để vẽ lên cái kế hoạch thực hiện (execution plan).

Chú muốn dùng cái hàm Unique trên office 2010 cháu xem có giúp được chú không cháu giúp nhé, chào thân ái cháu
 
On là mệnh đề phụ (predicate) đặt điều kiện của Inner Join chứ sau với trước mốc gì.

BangA Join BangB có nghĩa là mỗi dòng của BangA sẽ được nối với tất cả các dòng trong BangB. Nếu BangA có N dòng và BangB có M dòng thì kết quả sẽ có NxM dòng.
On đặt điều kiện là chỉ nối những dòng thỏa điều kiện. Tương đương với đem cái kết quả NxM trên và lọc lấy những dòng thỏa điều kiện. (Trên lý thuyết là làm vậy, trên thực tế thì phần mềm xử lý có cách làm của chúng, hiệu quả hơn nhiều)

Phải công nhận thớt học siêu thật. Tôi hồi nào giờ có biết cái gọi là "trình tự" kia đâu.
Nhưng mà hình như học gấp quá nên bỏ qua vài phần căn bản. Cái "trình tự" như nói ở bài #1 là trình tự nà trình dịch dùng để duyệt câu lệnh chứ đâu phải trình tự xử lý (thi hành) câu lệnh.

Học lập trình có căn bản thì phải biết trình dịch (compiler) là cái gì và đại khái nó hoạt động ra sao.

CSĐL LH (Relational DataBase) vốn căn bản rất chậm và tốn năng lượng. Các phần mềm CSDL hiện nay có những kỹ thuật và giải thuật để tăng tốc, ưu hóa các công việc.

Với T-SQL, sau khi trình dịch dịch xong câu lệnh thì nó sẽ đưa qua bên một phần mềm hiệu quả hóa (optimiser) để vẽ lên cái kế hoạch thực hiện (execution plan).
Hôm qua em thấy bài viết của anh rồi mà đến tận bây giờ mới có thời gian đọc hẳn hoi ^^
Tôi hồi nào giờ có biết cái gọi là "trình tự" kia đâu
Ôi anh không biết ạ . Chắc thế nó không quan trọng rồi hi. Nhưng mà em vẫn muốn biết tại sao chỗ khoanh tròn màu xanh ở ví dụ 3 kia nó lại hiểu được hai cột được đặt biệt danh là o và c .

Có lẽ các anh vẫn chưa hiểu em muốn nói cái gì . Để em lấy thêm một ví dụ nữa .

Theo như cách em giải thích ở trên và lời anh VietMini đã sửa thì theo "trình tự duyệt câu lệnh"
select nó được duyệt sau having nên là cột được đặt tên tại select khi vào having nó không hiểu
Theo như 2 hình bên dưới .
1653036297246.png
1653036321463.png

Link Tham khảo:
(https://www.sqlservertutorial.net/sql-server-basics/sql-server-having/)

Mong các anh giúp em tiếp ^^
 
Having là mệnh đề phụ của Group, dùng để làm điều kiện sau khi grouped. Nói cách khác là nó dùng để lọc các dòng được grouped.
Vấn đề không phải trình tự thằng nào trước thằng nào, mà là thằng nào liên hệ đến hoặc phụ thuộc vào thằng nào.

Câu 3 là Truy vấn liên hệ nội (Correlated Query). Bắt buộc phải dùng tên gọi để phân biệt bảng ở phạm vi vòng ngoài và bảng ở phạm vi vòng trong (bên trong bộ nhớ, sales được truy vấn 2 lần, tức là 2 bảng).

Correlated Query là trình độ tương đối cao. Bạn đi tới đaây mà chưa nắm vững phạm vi bảng thì có vẻ bạn đã đi đường tắt hơi nhiều.
 
Having là mệnh đề phụ của Group, dùng để làm điều kiện sau khi grouped. Nói cách khác là nó dùng để lọc các dòng được grouped.
Vấn đề không phải trình tự thằng nào trước thằng nào, mà là thằng nào liên hệ đến hoặc phụ thuộc vào thằng nào.

Câu 3 là Truy vấn liên hệ nội (Correlated Query). Bắt buộc phải dùng tên gọi để phân biệt bảng ở phạm vi vòng ngoài và bảng ở phạm vi vòng trong (bên trong bộ nhớ, sales được truy vấn 2 lần, tức là 2 bảng).

Correlated Query là trình độ tương đối cao. Bạn đi tới đaây mà chưa nắm vững phạm vi bảng thì có vẻ bạn đã đi đường tắt hơi nhiều.
Dạ vâng ạ ^^ Em cảm ơn anh nhiều .
Bạn đi tới đaây mà chưa nắm vững phạm vi bảng thì có vẻ bạn đã đi đường tắt hơi nhiều.
Đúng là em chưa nắm vững thật . Để em ôn lại rồi có gì em báo anh sau :>
 
Khả năng tự học của bạn này ghê thiệt :D 19 tuổi
Nếu đang không phải bạn theo học ngành CNTT hoặc liên quan, bằng đó thời gian tập trung đã tìm hiểu đến những thứ này là đã quá ghê rồi.
 
Khả năng tự học của bạn này ghê thiệt :D 19 tuổi
Nếu đang không phải bạn theo học ngành CNTT hoặc liên quan, bằng đó thời gian tập trung đã tìm hiểu đến những thứ này là đã quá ghê rồi.
Thông minh thật.
Nhưng có lẽ do ỷ mình thông minh cho nên cứ học thật nhanh và hỏi thật nhiều, không chừa thời gian và công sức để thực tập hay tự thử lấy những gút mắc để tìm hiểu.

Học kiểu này nhanh mở rộng kiến thức. Nhưng chiều sâu thì tôi không chắc.
 
Khả năng tự học của bạn này ghê thiệt :D 19 tuổi
Nếu đang không phải bạn theo học ngành CNTT hoặc liên quan, bằng đó thời gian tập trung đã tìm hiểu đến những thứ này là đã quá ghê rồi.
Ui anh đừng nói thế chứ :< Anh nói vậy em không biết trả lời ra sao đâu . Em cũng chỉ là người bình thường thôi nên em muốn anh cũng nhìn em với con mắt của một người bình thường . Với lại những từ bay bổng này nên dùng cho đúng người chứ anh( Những anh chị trên này kìa ) . Những anh chị đó mới đáng để anh dùng những mỹ từ đó mà chắc gì họ đã nhận . Chắc anh hiểu ý em mà ^^
 
Thông minh thật.
Nhưng có lẽ do ỷ mình thông minh cho nên cứ học thật nhanh và hỏi thật nhiều, không chừa thời gian và công sức để thực tập hay tự thử lấy những gút mắc để tìm hiểu.

Học kiểu này nhanh mở rộng kiến thức. Nhưng chiều sâu thì tôi không chắc.
Anh có cảnh báo em rồi thì phải ^^ . Nhưng mà "thầy cô" trên "trường" em bảo :

"Phải nhanh ! Nếu không nhanh thì sẽ không theo kịp được chương trình , sẽ không theo kịp được các bạn"
Để bây giờ vẫn chậm, vẫn không biết mình muốn cái gì , vẫn không biết thị trường đang thật sự cần cái gì
"Muốn sâu thì trước hết thì phải học rộng đã"
Để bây giờ sau khi đánh đổi 12 năm cuộc đời . Kiểm lại trong đầu toàn những thứ hỗn độn và rác .

Với cái sự đi hỏi bài này em thấy em học được rất nhiều . Kiến thức cơ thì em có thể tự học được nhưng mà cách để mình ứng dụng nó ra sao nó mới là vấn đề nan giải . Với chẳng may em code nó lỗi thì lúc đó em thực cần một người thầy nhảy vào và giải thích và chỉ cho em nguyên nhân và cách khắc phục , đôi lúc lại cho em cả hướng đi . Không chỉ thế thôi đâu ! Lúc em đi hỏi bài có những anh chị nói em những cái bản chất của vấn đề để em có thể hiểu hơn những kiến thức mình đang học , có thể hiểu hơn cách dùng nó mà không tốn bất cứ chi phí nào nữa chứ ^^ - Vậy đây là học sâu hay nông ? . Những lúc em tìm hiểu kiến thức để đặt được câu hỏi cho cách anh chị hay những lúc đọc sách để trò chuyện với chính mình , để tìm ra chân lý , để hiểu bản thân - thì đây sâu hay nông? Em cũng không biết nữa ^^ Chắc anh cũng có câu trả lời

Chính xác hơn thì đây mới là những thứ mà em đang tìm kiếm . Em muốn theo đuổi giáo dục thực sự chứ không phải những thứ hời hợt được "thầy cô" sắp đặt sẵn , những thức ăn nhanh mà chỉ trên "trường" mới có(Học xong quên luôn) . Những thứ mà mọi người cho là "cao siêu" phải chăng nó quá là rẻ tiền đối với em (Mọi thứ đều có ở trên mạng)
 
Lần chỉnh sửa cuối:
Chính xác hơn thì đây mới là những thứ mà em đang tìm kiếm . Em muốn theo đuổi giáo dục thực sự chứ không phải những thứ hời hợt được "thầy cô" sắp đặt sẵn , những thức ăn nhanh mà chỉ trên "trường" mới có(Học xong quên luôn) . Những thứ mà mọi người cho là "cao siêu" phải chăng nó quá là rẻ tiền đối với em (Mọi thứ đều có ở trên mạng)
Tìm hiểu nhiều cái không sai. Nhưng một khi người khác đã cho một chút kiến thức thì phải tự viết code để kiểm chứng, để mục sở thị. Tôi cho ví dụ.

Ngay trong bài #2


tôi đã viết

On <biểu thức số> Goto <danh sách> (<danh sách>: liệt kê các chỉ số dòng hoặc các nhãn - label)

<biểu thức số>: a là biểu thức. (a+b), (a^+3a*b+b^2), (3a + sin(b)) ... cũng đều là biểu thức.

Đây là cấu trúc rất cũ của Visual Basic, dùng để phân nhánh tới những cụm dòng code khác nhau dựa trên giá trị của <biểu thức số>. Tuy cấu trúc này còn tồn tại nhưng ngày nay người ta dùng cấu trúc phân nhánh linh hoạt và đa dạng hơn, đó là SELECT CASE.

<biểu thức số> giá trị của biểu thức sẽ được làm tròn xuống tới số nguyên.

- <biểu thức số> trả về số âm hoặc số > 255: sẽ có lỗi.
- <biểu thức số> trả về 0 hoặc k với k > số nhãn trong <danh sách>: sẽ có bước nhẩy tới dòng ngay sau dòng On ... Goto ... (A)
- <biểu thức số> trả về giá trị k với 1 <= k <= 255: sẽ có bước nhẩy tới nhãn thứ k trong <danh sách>. (B)


Nếu là tôi học thời xưa thì khi có ai đó trình bày lý thuyết như ở trên thì tôi sẽ ngay lập tức sẽ viết code để kiểm nghiệm. Bạn đã có code với <danh sách> chứa 1 LABEL. Vậy thì chỉ cần thêm nhiều LABEL nữa để kiểm tra từng phần tôi viết thôi. Tức đã có code như của bạn thì việc mở rộng code đó thêm nhiều LABEL để kiểm nghiệm không khó. Bạn phải làm được điều đó. Thêm LABEL và vị trí nhẩy tương ứng với LABEL thì có gì là khó. Cho a = -1 hoặc a = 256 rồi mục sở thị. Cho a = 0 hoặc a > số lượng LABEL rồi mục sở thị. Cho a >= 1 nhưng a <= số lượng LABEL rồi mục sở thị.

Tóm lại nếu ai đó ở bài #2 cho tôi lý thuyết thì ngay lập tức tôi sẽ viết code như ở bài #7 để kiểm nghiệm. Sau vài ba code kiểm nghiệm là tôi có thể nói: "Tôi đã biết rất rõ cái này. Tôi đã học xong cái này". Ngày xưa và cả bây giờ tôi toàn học kiểu đó. Lý thuyết và thực hành luôn phải đi song song.

Sub test()
Dim a As Long, text
a = Weekday(Date)
text = "Nhay toi line" & a
On a GoTo line1, line2, line3, line4, line5, line6, line7
MsgBox "Buon qua, toi khong duoc thuc thi"
MsgBox "Buon qua, hang xom cung khong duoc thuc thi"
MsgBox "Buon qua, cha ai duoc thuc thi"
line1:
MsgBox text
Exit Sub
line2:
MsgBox text
Exit Sub
line3:
MsgBox text
Exit Sub
line4:
MsgBox text
Exit Sub
line5:
MsgBox text
Exit Sub
line6:
MsgBox text
Exit Sub
line7:
MsgBox text
Exit Sub
End Sub


Mà tôi đã viết rõ là 1 cấu trúc dùng để PHÂN NHÁNH thực hiện code, giống như Select Case, còn cấu trúc kia - On Error ... dùng để XỬ LÝ lỗi. Thế mà bạn vẫn không hiểu sự khác nhau giữa chúng.
Bài đã được tự động gộp:

Anh liệu có nhớ "môi trường mạng" ^^ ?
Nhiều khi ở "đầu bên kia" không phải "gái già 15 tuổi" hay "gái trẻ dễ thương 19 tuổi" mà là một ông già râu dài tới rốn đang chat. :D
 
Lần chỉnh sửa cuối:
Nếu là tôi học thời xưa thì khi có ai đó trình bày lý thuyết như ở trên thì tôi sẽ ngay lập tức sẽ viết code để kiểm nghiệm.
Dạ vâng ạ ! Đúng là code của anh bày ra có một số cái em chỉ nhìn rồi nghĩ kết quả chương trình sẽ cho ra ở trong đầu . Lý thuyết anh đưa ra thì em kiểm nghiệm với những gì em đã học và đọc, cái nào chưa biết thì ghi chú lại rồi tìm tài liệu liên quan đến lý thuyết đó để hệ thống lại . Nhưng mà em đều đọc bài viết của anh cũng như của mọi người rất kỹ càng. Bài viết "Từ khóa Error" đó thì ý câu hỏi của em không phải là chỉ hỏi riêng về từ khóa Error mà còn liên quan rất nhiều vấn đề khác(nó có thể liên quan đến đối tượng Error chẳng hạn) . Lúc đó em cũng đã tìm hiểu về đối tượng Error , cũng đã tìm hiểu về cấu trúc On goto , cũng có biết cấu trúc select case , cũng đã thử xem liệu trong cấu trúc On Error ... kia và On Goto ... kia có liên quan gì đến nhau không(có thể thấy rõ qua cách đặt câu hỏi) nhưng do lúc đó đã hết thời gian học VBA mà lịch của em lúc đó còn SQL vẫn chưa học nên em chọn cách hỏi để tạm thời giải quyết vấn đề(mục đích là để đẩy nhanh tiến độ) . Việc em đặt câu hỏi , em cũng đặt rất nhiều sự chuẩn bị ở đó nên nó cũng mất kha khá thời gian . Riêng việc đặt câu hỏi ở bài viết này thôi cũng tốn mất hơn 45p (chưa kể thời gian tìm tòi để có câu để hỏi) . Nên em nghĩ việc nhận được hồi đáp khá là khả quan từ mọi người em thấy cũng có lý . Mà biết đâu đấy một người nào đó cũng có câu hỏi giống em thì sao ? Giống như em đang đọc lại các bài viết mà anh đã viết chẳng hạn . Em thấy cái tâm ở trong mỗi bài viết . Nên em có dành thời gian để đọc và sẽ đọc hết .
Nhiều khi ở "đầu bên kia" không phải "gái già 15 tuổi" hay "gái trẻ dễ thương 19 tuổi" mà là một ông già râu dài tới rốn đang chat. :D
Rất biến chất nhưng mà không thể phủ nhận lợi ích của nó mang lại . Giống như chơi chứng khoán . Từ bao giờ nó đã trở thành một bộ môn của các "bà bán rau" , từ bao giờ nó đã trở thành một trò chơi may rủi của rất nhiều thanh niên ( Thông tin trên em đọc ở "Trên mạng") -Không thể chỉ trích nó được vì em cũng đang phụ thuộc vào lợi ích nó mang lại- . Cũng giống như mình đang dùng ngôn ngữ tiếng việt để giao tiếp mà mình lại chê nó và phải chèn mấy từ tiếng anh vào vì nghĩ nó sang hơn chẳng hạn ^^ . Thật sự em cũng đang thể hiện bản thân hơi nhiều trên này! Phải chăng bên ngoài không có ai khác có đủ khả năng đồng cảm và thấy hiểu? Hay là vì mình chỉ là một con nhút nhát không dám nói lên suy nghĩ của bản thân để chống lại "Giáo điều" , "Truyền thống" , "Con đường lối mòn" ... Để giành lại cuộc đời của chính mình ? Đây chỉ là một chút nói nên nỗi lòng của chính mình ( có thể gồm một chút phẫn nộ . Viết đến đây cũng khá muốn xóa nhưng nghĩ - cũng chả ai biết mình là ai nên thôi ... ) .
 
Dạ vâng ạ ! Đúng là code của anh bày ra có một số cái em chỉ nhìn rồi nghĩ kết quả chương trình sẽ cho ra ở trong đầu . Lý thuyết anh đưa ra thì em kiểm nghiệm với những gì em đã học và đọc, cái nào chưa biết thì ghi chú lại rồi tìm tài liệu liên quan đến lý thuyết đó để hệ thống lại . Nhưng mà em đều đọc bài viết của anh cũng như của mọi người rất kỹ càng.
Học hỏi là tốt. Có những thành viên hoạt động chứ không chỉ đăng ký. 5, 10 năm họ hỏi liên tục, nhờ giúp. 10 năm đi nhờ nhưng không bỏ công ra học. Vì thế những người muốn học để tự làm được rất đáng khen và ủng hộ.

Rất biến chất nhưng mà không thể phủ nhận lợi ích của nó mang lại . Giống như chơi chứng khoán . Từ bao giờ nó đã trở thành một bộ môn của các "bà bán rau" , từ bao giờ nó đã trở thành một trò chơi may rủi của rất nhiều thanh niên ( Thông tin trên em đọc ở "Trên mạng") -Không thể chỉ trích nó được vì em cũng đang phụ thuộc vào lợi ích nó mang lại-
Không ai chỉ trích "môi trường mạng". Nhưng việc ý thức cho mọi người, nhất là trẻ em, những nguy hiểm rình rập "nơi ấy" là cần làm. Như mẹ dạy con gái: "Nếu phải đi đêm thì phải rất cẩn thấn, chọn những đường đông đúc nhất có thể, đừng ...". Người mẹ đâu có trách gì. Cuộc sống nó thế, có những nguy hiểm rình rập thì người mẹ ý thức cho con gái. Con nai nào chả muốn thẩn thơ đi dạo mà không phải lo nghĩ gì. Nhưng thực tế là trong rừng có cả sói. Mà sói muốn có con nai làm bữa trưa. Dù "không hài lòng" thế nào thì con nai cũng phải ý thức được là nó không thể vô tư quá, vì có nguy hiểm. Trong cuộc sống ai chả muốn con người là bạn của nhau, không có dối trá, lừa đảo, thù địch, lợi dụng. Nhưng mơ là một chuyện còn thực tế như nào lại là chuyện khác. Phải ý thức được thực tế nó thế nào.
 
Anh có cảnh báo em rồi thì phải ^^ . Nhưng mà "thầy cô" trên "trường" em bảo :

"Phải nhanh ! Nếu không nhanh thì sẽ không theo kịp được chương trình , sẽ không theo kịp được các bạn"
Để bây giờ vẫn chậm, vẫn không biết mình muốn cái gì , vẫn không biết thị trường đang thật sự cần cái gì
"Muốn sâu thì trước hết thì phải học rộng đã"
Để bây giờ sau khi đánh đổi 12 năm cuộc đời . Kiểm lại trong đầu toàn những thứ hỗn độn và rác .
...
12 năm cuộc đời chỉ là bóng câu qua cửa sổ.
1. Những năm mài đũng quần trước Đại học là kỷ niệm êm đẹp nhất của đời tôi.
2. Cho đến bây giờ chính tôi cũng không đếm nổi mình đã bỏ ra bao nhiêu năm để học.

...Với cái sự đi hỏi bài này em thấy em học được rất nhiều . Kiến thức cơ thì em có thể tự học được nhưng mà cách để mình ứng dụng nó ra sao nó mới là vấn đề nan giải . Với chẳng may em code nó lỗi thì lúc đó em thực cần một người thầy nhảy vào và giải thích và chỉ cho em nguyên nhân và cách khắc phục , đôi lúc lại cho em cả hướng đi . Không chỉ thế thôi đâu ! Lúc em đi hỏi bài có những anh chị nói em những cái bản chất của vấn đề để em có thể hiểu hơn những kiến thức mình đang học , có thể hiểu hơn cách dùng nó mà không tốn bất cứ chi phí nào nữa chứ ^^ - Vậy đây là học sâu hay nông ? . Những lúc em tìm hiểu kiến thức để đặt được câu hỏi cho cách anh chị hay những lúc đọc sách để trò chuyện với chính mình , để tìm ra chân lý , để hiểu bản thân - thì đây sâu hay nông? Em cũng không biết nữa ^^ Chắc anh cũng có câu trả lời
...
Nhiều quá, tôi hiểu không hết.

...
Chính xác hơn thì đây mới là những thứ mà em đang tìm kiếm . Em muốn theo đuổi giáo dục thực sự chứ không phải những thứ hời hợt được "thầy cô" sắp đặt sẵn , những thức ăn nhanh mà chỉ trên "trường" mới có(Học xong quên luôn) . Những thứ mà mọi người cho là "cao siêu" phải chăng nó quá là rẻ tiền đối với em (Mọi thứ đều có ở trên mạng)
Bạn và tôi định nghĩa "giáo dục thực sự", "thức ăn nhanh", và "rẻ tiền" khác nhau.
 
Bạn @Nguyen Rem có phải đang ẩn giấu một cỗ máy thay đổi ảnh đại diện tự động phải không --=0
 
À không ạ :> Anh nghĩ em có khả năng làm điều đó ạ
Đang ngại chưa biết hỏi thế nào thì không còn nữa. Thôi thì liều tí. Tôi thì thấy bình thường, cả nói chuyện về những chủ đề tế nhị. Nhưng tôi có cảm giác là GPE rất ngại nói về vấn đề tế nhị. Thôi kệ, hỏi nhé. Trong hình đại diện trước, cô gái hoặc là đang ôm con mèo, thú bông gì đó hoặc có vòng 1 khủng. Nhưng tôi mắt kém nên nhìn không rõ. Vậy cái gì mới đúng? :D
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom